我有一个javasript函数,它应该在文档准备好后更改附加元素的值。
我的意思是:如果javascript附加了一个div:<div class="new-div"></div>
,我无法拦截该DIV上的操作。
此代码不起作用:
$(document).ready(function() {
$('.new-div').on('click', function(){
alert('clicked');
});
});
但是这段代码,使用委托,工作正常:
$(document).ready(function() {
$(document).on('click', '.author-profile-articles-table', function(){
alert('clicked');
});
});
但是,当需要滚动事件时,以下代码不起作用:
$(document).ready(function() {
$(document).on('scroll', '.author-profile-articles-table', function(){
alert('scrolled');
});
});
根据t.niese,滚动事件不会通过DOM传播,因此无法将其与委托一起使用以使其工作。
脚本标签和html一起工作,但我觉得它不是一种优雅/聪明的方式。
问题是,如果滚动截取器不能与DOM一起使用,那么从单独的javascript文件或html脚本标记中放置事件拦截器的方法是唯一的选择吗?
干杯,
答案 0 :(得分:0)
我使用bind标签使其工作:
当我完成执行给定的操作时,使用以下命令触发事件:
$.trigger('eventName');
我使用bind构建事件监听器:
$(document).bind('eventName', function(){
// Do your stuff here.
}
顺利工作=)