jquery.on 函数?

标签 jquery html

我有 2 行 jquery。第一行是在“myLink”上添加事件,第二行是在“#another”上添加类“myLink”,但事件在第二行中不起作用,但是当我使用 .live 方法时,它正在工作。 jquery 在其 1.7 版本中引入了 .on 方法。我想通过 .in 函数做到这一点是否可行。

$(function(){

    $("a.myLink").on('click', function() { alert( 'Click!' ); } );

    $("a#another").addClass( "myLink" );
})



<a class="myLink">A link!</a>
<a id="another">Another link!</a>

最佳答案

我刚刚写了一篇关于使用 .on() 替换 .live() 的入门文章,并解释了 .on() 的静态形式code> (您正在使用)和 .on() 的动态形式(您需要使用)。今天早些时候的入门读物在这里:Does jQuery.on() work for elements that are added after the event handler is created?其中包含更多详细信息。

你需要使用这样的东西:

$(document).on('click', "a.myLink" function() { alert( 'Click!' ); } );

或者,甚至更好地使用动态链接的静态祖先而不是 document(我在这里假设它是一个对象 #container 因为这会提供更好的性能,例如这个:

$("#container").on('click', "a.myLink" function() { alert( 'Click!' ); } );

关于jquery.on 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816824/

相关文章:

javascript - 如何使可调整大小的子 div 适合他的 parent

javascript - 在表单对象上触发标准 "change"事件 - 由其上的任何监听器接收

javascript - 改变 div 的使用 jquery 问题?

javascript - innerHTML 仅在 Chrome 中编码

javascript - 位置固定在垂直滚动上,但不是水平滚动

javascript - JQuery 无法从动态创建的字段中获取输入值

javascript - 如何更改 ace 编辑器中的背景图像?

javascript - 将 JavaScript 数据添加到页面时什么更有效 : creating new elements or populating existing ones?

Jquery更改隐藏表单字段值

jquery - 如何在 Rails 4 中动态加载数据