我.on
在 jquery 中使用方法而不是.live
.
$(function(){
$('.mydiv').live('click', function(){ //my code})
})
$(function(){
$('.mydiv').on('click','/*selector*/', function(){ //my code})
})
我想知道在.on
函数中放入选择器的内容。我想在“mydiv”上应用功能
从 jquery 文档:selector: A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.
尝试
$(function(){
$(document).on('click','.mydiv', function(){
//your code
})
})
$(function(){
$(document).on('click','.mydiv', function(){ //my code});
});
当委派事件时,您监听绑定时存在的元素的任何点击,因为事件处理程序只能附加到绑定时实际存在于 DOM 中的元素,这将是上面语句中的第一个元素,然后它检查目标(被单击的那个)元素是否与您真正正在侦听的元素匹配,即上述语句中的第二个元素。
document
总是存在的,但使用更接近实际元素的元素会更好。
它监听对文档的任何点击,这是整个页面,因为所有元素都在文档中,然后检查点击是否来自语句中的第二个元素,如果是,它会触发函数。显然,您越接近实际元素,触发点击功能并被过滤掉的元素就越少。
.on( events [, selector] [, data], handler(eventObject) )
events一种或多种以空格分隔的事件类型和可选的命名空间,例如“click”或“keydown.myPlugin”。 selector一个选择器字符串,用于过滤触发事件的选定元素的后代。如果选择器为 null 或省略,则始终在到达所选元素时触发事件。 data触发事件时要传递给 event.data 中的处理程序的数据。 handler (eventObject) 事件触发时执行的函数。值 false 也可以作为简单返回 false 的函数的简写;
$("#dataTable tbody tr").on("click", function(event){
alert($(this).text());
});
$("#dataTable tbody").on("click", "tr", function(event){
alert($(this).text());
});