Tag: jquery on

1.7.2中的jQuery事件委托

有没有办法使用jQuery委托一个事件,该事件将对应于页面上与选择器匹配的所有元素,而不是从$(document)委托? 既然这可能措辞不好,这就是问题: 曾经有jQuery.live将事件委托给匹配选择器的所有元素。 这被jQuery.delegate取代,后者将特定上下文选择器中的事件委托给它的子jQuery.on ,后者又被jQuery.on取代, jQuery.on实际上有相同的function,但在幕后有不同的位(我想象)。 我想要做的是,安全地为我页面上的每个div.foo添加一个事件处理程序,无论它在哪里,或者它可能存在。 根据文档和实证研究,以下内容仅绑定脚本运行时存在的.foo元素。 由于代码可能会在页面上放置.foo元素,因此这并不完全有效。 jQuery(‘.foo’).on(‘click’, handler); 由于live已弃用(可能已删除?),我试图不使用它,但我能想出的唯一解决方案是 jQuery(document).on(‘click’, ‘.foo’, handler); 但这不是live幕后的活动吗? 更重要的是,有没有重要的理由不这样做? 我们专门使用1.7.2版本,但通用的jQuery答案也会有所帮助。

jQuery .on(’click’)不适用于jQuery UI draggable

我有一个关于jQuery的问题。 我真的很喜欢jQuery,甚至是javascript,所以请耐心等待。 我在我的应用程序中的某些div上使用jQuery UI draggable。 问题是,jQuery .on(’click’)似乎不适用于这些div。 我确实尝试使用.click(),它确实有效。 但是,div将动态创建,并且基于我所学到的,当我们想要使用动态创建的元素时,最好使用.on()。 以下是我的HTML代码段: First text Second text 这是jQuery片段: $(‘div.draggable-text’).draggable({ cursor: ‘move’, delay: 200, containment: ‘parent’ }).resizable().selectable(); // This one doesn’t work $(‘div.book-page’).on(‘click’, ‘div.book-page > div.draggable-text’, function () { alert(‘clicked!’); // some more coding here… }); // This one works /*$(‘div.book-page > div.draggable-text’).click(function () { alert(‘clicked!’); // some more […]

jQueryhover效果不起作用

我有动态生成的div标签,看起来像这样: 这些div选项卡将根据用户选择生成,所以我不知道他们一次会在屏幕上有多少,我只知道他们可以在屏幕上拥有许多相同的小部件和/或一旦打开差异屏幕一下子。 当我将鼠标hover在任何这些小部件上时,我试图获得hover效果。 我尝试了以下操作,但是当将.widgethover在.widget时没有任何反应。 $(“.widget_content”).on({ mouseenter: function () { alert(“enter”); }, mouseleave: function () { alert(“leave”); } }); 知道我做错了什么吗?

jquery .on()通过函数传递数据

我正在阅读.on()jquery文档。 是否可以传递这样的数据: function greet( event ) { alert( “Hello ” + event.data.name ); } $( “button” ).on( “click”, {name: “Karl”}, greet ); 该方法的原型是: $(selector).on(event,childSelector,data,function,map) 是否有可能在数据参数中有一个更复杂的瘦而不是只有一个字符串? 在我的情况下:我将动态生成一些带有数字输入和一些文本的弹出窗口。 是否可以捕获调用者弹出窗口内的信息,即调用者弹出窗口的数量和文本。 也许是这样的: $(document).on(‘click’, ‘#id’, var data =[ var number = functionThatGetTheNumberOfThePopup var test = captureTextOfPopup ] , function(event){ //use number //use test });

jQuery $ .on.apply无效

任何人都知道为什么 $.on.apply(this, args); 给我“未捕获的TypeError:无法读取属性’应用’未定义” 我肯定知道$ .on是在jQuery中定义的:/

将多个事件绑定到同一个函数

如何将多个事件绑定到同一个函数。 我想点击和触摸开始做同样的事情。 然后我想要一个鼠标hover的第二个function。 我想使用这种设置: $(document).on({ click: function (event) { // I want this: click, touchstart: function (event) { event.preventDefault(); // do something }, mouseover: function (event) { event.preventDefault(); // do something } }, ‘.link’);

jQuery – 如何使.on事件为动态创建的HTML工作?

阅读最新的jQuery 1.x库的新规范,它说使用.on来附加适用于动态创建的jQuery元素的事件,但是,我似乎无法完成这项工作。 在我的$(document).ready函数中,我有以下内容: jQuery的: $(“.dropdown”).on(“click”, function(event) { event.preventDefault(); var type = $(this).text() == ‘[ Read more… ]’ ? ‘expand’ : ‘collapse’; var theDiv = type == ‘expand’ ? $(this).parent().next(“div”) : $(this).parent().prev(“div”); var theId = $(this).attr(“id”); $(this).parent().remove(); var vText = theId == ‘reqMat’ ? ‘Every candidate is required to submit a headshot and candidate statement.’ : […]

如何在DOM中的每个元素中调用函数,即使它们是动态创建的

我想在我的DOM上调用特定元素的函数,例如: $(“.red”).css({backgroundColor: “pink”}); 它适用于已存在于DOM中的任何元素,但我也希望在动态添加到DOM的元素中调用此方法。 我尝试过这样的事情: $(“.red”).on(function(){ this.css({backgroundColor: “pink”}) }); 要么: $(“.red”).on(“load”, function(){ this.css({backgroundColor: “pink”}) }); 但没有任何成功。 检查jsFiddle 更新 .css()调用只是一个例子,我实际上想要调用其他类型的函数

jQuery .on keyup和模糊触发onload只

问题: blur和keyup事件每次触发一次,只有onload。 我怎样才能使它们正常工作? jQuery的: function myFunction(text){ alert(text); } $(‘#input1’).on({ keyup: myFunction(‘keyup’), blur: myFunction(‘blur’), focus: function(){console.log(‘focus!’);} }); 小提琴: http : //jsfiddle.net/GrMQX/

单击一个按钮可在另一个按钮上触发单击事件

我想点击按钮2来触发按钮1上的点击事件。 但是,当我尝试以下操作时,单击#2时没有任何反应:#1或#2没有警报。 HTML: Button 1 Button 2 JS: $(‘#container’).on( “click”, ‘#button-1’, function(e){ alert(‘CLICKED 1’); }); $(‘#container’).on( “click”, ‘#button-2’, function(e){ $(‘#button-1’).trigger(e); alert(‘CLICKED 2’); }); http://jsfiddle.net/8RnBf/7/ 而且,如果我在触发器之前放置#2警报,我最终会得到一个无限循环。 http://jsfiddle.net/8RnBf/6/ 为什么这不按预期工作? 更新: 我应该说清楚:原始事件必须通过。 从本质上讲,我们正在尝试做这里所做的事情,但是要委托事件