Tag: JavaScript

将点击事件附加到尚未添加到DOM的JQuery对象

在将它添加到DOM之前,将click事件附加到JQuery对象上,我遇到了很多麻烦。 基本上我有这个button,我的函数返回,然后我将它追加到DOM。 我想要的是返回与自己的点击处理程序的button。 我不想从DOM中select它来附加处理程序。 我的代码是这样的: createMyButton = function(data) { var button = $('<div id="my-button"></div>') .css({ 'display' : 'inline', 'padding' : '0px 2px 2px 0px', 'cursor' : 'pointer' }).append($('<a>').attr({ //'href' : Share.serializeJson(data), 'target' : '_blank', 'rel' : 'nofollow' }).append($('<image src="csshttp://img.dovov.comFacebook-icon.png">').css({ "padding-top" : "0px", "margin-top" : "0px", "margin-bottom" : "0px" }))); button.click(function () { console.log("asdfasdf"); }); return […]

获取元素的索引作为相对于父元素的子元素

假设我有这个标记: <ul id="wizard"> <li>Step 1</li> <li>Step 2</li> </ul> 我有这个jQuery: $("#wizard li").click(function () { // alert index of li relative to ul parent }); 当点击那个li时,我怎么能得到相对于它的父母的孩子li的索引? 例如,当您点击“步骤1”时,popup一个“0”的alert 。

jQuery访问input隐藏值

如何使用jQuery访问<input type="hidden">标记的value属性?

如何从当前页面使用JavaScript获取主机的URL

鉴于我在以下页面: http://www.webmail.com/pages/home.aspx 如何使用JavaScript检索主机名称( "http://www.webmail.com" )?

_.each(list,iterator,)中的上下文是什么?

我是underscore.js的新手。 _.each()的[context]的目的是什么? 应该如何使用?

“单页”JS网站和SEO

现在有很多很酷的工具可以制作function强大的“单页”JavaScript网站。 在我看来,这是通过让服务器充当一个API(而不是其他任何东西)并让客户端处理所有的HTML生成东西来完成的。 这种“模式”的问题是缺乏search引擎支持。 我可以想到两个解决scheme: 当用户进入网站时,让服务器完全按照客户端的导航来呈现页面。 所以如果我直接去http://example.com/my_path那么如果我通过pushState去到/my_path ,服务器将会呈现和客户端一样的东西。 让服务器只为search引擎机器人提供一个特殊的网站。 如果一个普通用户访问http://example.com/my_path ,服务器应该给他一个JavaScript网站的繁重版本。 但是,如果谷歌机器人访问,服务器应该给它一些最小的HTML与我要谷歌索引的内容。 第一个解决scheme在这里进一步讨论。 我一直在做这个网站,这不是一个很好的经验。 这不是干的,在我的情况下,我不得不为客户端和服务器使用两个不同的模板引擎。 我想我已经看到了一些好的Flash网站的第二个解决scheme。 我比第一个更喜欢这种方法,并且在服务器上使用正确的工具,可以非常轻松地完成。 所以我真正想知道的是以下几点: 你能想到更好的解决scheme吗? 第二种解决scheme有什么缺点? 如果Google以某种方式发现我没有像普通用户那样为Google bot提供完全相同的内容,那么我是否会在search结果中受到惩罚?

当发生“模糊”事件时,如何找出哪些元素焦点去*?

假设我将一个blur函数附加到HTMLinput框中,如下所示: <input id="myInput" onblur="function() { … }"></input> 有没有一种方法来获取引起blur事件的元素的ID(被点击的元素)的函数内? 怎么样? 例如,假设我有这样的跨度: <span id="mySpan">Hello World</span> 如果在input元素具有焦点后单击该跨度,input元素将失去焦点。 函数如何知道是mySpan被点击了? PS:如果跨度的onclick事件发生在input元素的onblur事件之前,我的问题将被解决,因为我可以设置一些状态值来指示一个特定的元素被点击了。 PPS:这个问题的背景是,我想从外部触发一个AJAX自动完成控件(来自一个可点击的元素)来显示它的build议,而不会立即因为input元素上的blur事件而消失。 所以我想检查blur函数,如果一个特定的元素已被点击,如果是的话,忽略模糊事件。

我如何告诉AngularJS“刷新”

我有一个单击事件发生在我的自定义指令的范围之外,所以不是使用“ng-click”属性,而是使用jQuery.click()侦听器并在我的作用域内调用一个函数,如下所示: $('html').click(function(e) { scope.close(); ); close()是一个简单的函数,如下所示: scope.close = function() { scope.isOpen = false; } 在我看来,我有一个元素“ng-show”绑定到isOpen像这样: <div ng-show="isOpen">My Div</div> debugging时,我发现正在调用close(),isOpen正在更新为false,但AngularJS视图没有更新。 有没有办法我可以手动告诉Angular更新视图? 还是有更多的“angular”的方法来解决这个问题,我没有看到?

JavaScript DOM删除元素

我试图testing一个DOM元素是否存在,如果它存在删除它,如果它不存在创build它。 var duskdawnkey = localStorage["duskdawnkey"]; var iframe = document.createElement("iframe"); var whereto = document.getElementById("debug"); var frameid = document.getElementById("injected_frame"); iframe.setAttribute("id", "injected_frame"); iframe.setAttribute("src", 'http://google.com'); iframe.setAttribute("width", "100%"); iframe.setAttribute("height", "400"); if (frameid) // check and see if iframe is already on page { //yes? Remove iframe iframe.removeChild(frameid.childNodes[0]); } else // no? Inject iframe { whereto.appendChild(iframe); // add the newly created […]

格式date与moment.js

我有这种格式的string: var testDate = Fri Apr 12 2013 19:08:55 GMT-0500 (CDT) 我想用这个格式的mm/dd/yyyy : 04/12/2013来显示。 我试图用这个方法来做, moment(testDate,'mm/dd/yyyy'); 哪个错误说there is no such method called replace ? 我以错误的方式接近这个吗? 编辑: 我还应该提到,我正在使用pre.js包装版本的meteor.js Object [object Date] has no method 'replace' : The Exact error from the console 堆栈跟踪: at makeDateFromStringAndFormat (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:539:29) at moment (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:652:24) at populateProfileForEdit (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:147:25) at Object.Template.profile_personal.rendered (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:130:13) at […]