d-_*_*_-b 8 jquery onclick onclicklistener
据我所知,该click()方法对我不起作用,因为我点击的元素在页面加载时不存在(DOM就绪).
我找到了许多建议使用的答案.live('click',function(){...}).这很棒!
但是,.live()从jQuery 1.7开始折旧
所以,我尝试使用.on('click',function(){...}),但它不起作用(行为相同.click().
有谁知道为什么,或者我可以做什么来使用.on()类似的.live()(哪个有效)?
Joh*_*han 21
由于on()这两种替代bind()和live(),你需要传递一个第三个参数,以便利用事件代表团(换句话说,使它像老工作live()):
$('#container').on('click', '.element', function(){ });
Run Code Online (Sandbox Code Playgroud)
你应该可以使用这样的格式:
$(document).on('click','element', function(){...});
Run Code Online (Sandbox Code Playgroud)
element要将click事件绑定到的元素在哪里.使用document是一种最糟糕的情况,因为理想情况下,您希望使用DOM加载时存在的元素,该元素在DOM层次结构中更接近于将动态加载的元素.
来自jQuery .on()文档:
事件处理程序仅绑定到当前选定的元素; 它们必须存在于您的代码调用.on()时的页面上.要确保元素存在且可以选择,请在文档就绪处理程序内对页面上HTML标记中的元素执行事件绑定.如果将新HTML注入页面,请在将新HTML放入页面后选择元素并附加事件处理程序.
| 归档时间: |
|
| 查看次数: |
10936 次 |
| 最近记录: |