0

这工作正常:

$('.classname').click(function() {
  alert('');
});
<div class="classname">Click me!</div>

但这不会:

$('.classname').click(function() {
  alert('');
});
<div class="classname">Click me!</div>
<div class="classname">Click me!</div>

我怎样才能解决这个问题?谢谢你的帮助!(标签中的脚本,.click 位于文档就绪功能中)

4

4 回答 4

2

试试这个:

$('PARENTNODE').on('click', '.classname', function() {
  alert('');
});
<div class="classname">Click me!</div>
<div class="classname">Click me!</div>

附加点击处理程序后添加元素。通过使用 .on() 您也可以为将来的元素启用它。

将 PARENTNODE 替换为您要委托给的父节点(例如 body)

于 2013-02-07T12:01:07.653 回答
0

我假设除了第一个之外的所有 div 都是动态添加的。

使用事件委托方法:

$(function(){
    $(document).on('click', '.classname', function() {
        alert('');
    });
}),
于 2013-02-07T12:06:28.463 回答
0

尝试这个

$(document).ready(function(){
    $(document).on('click', '.classname', function() {
      alert('');
    });
});

参考http://api.jquery.com/on/

于 2013-02-07T12:00:47.300 回答
0

您正在尝试定位在调用 .click 时不存在的元素。

您可以在 $(function() { your code here }); 之间包装整个 jquery 代码。或者在两个 <div> 之后移动 javascript。

于 2013-02-07T12:03:22.833 回答