javascript - Jquery Onclick 功能不适用于 div,因为特定时间后会加载

标签 javascript jquery

对于<div class="editdiv">Test</div> 。 document.ready 函数中添加了 Jquery 单击功能。但是editdiv延迟动态加载页面。

所以当我点击div时。函数未调用。通过使用timeout功能运行良好。

我需要一种不同的方法来解决此功能。

最佳答案

如果您的 .editdiv 是在 js 加载后动态加载的,因此您的 click 事件无法检测到它并且它将无法工作,那么您应该使用事件委托(delegate)<强>on() 处理新的 DOM :

$('body').on('click', '.editdiv', function(){
    //Your click event code
})
<小时/>

如果您想避免 setTimeout,您可以将 delayqueue 回调方法结合使用:

$('div.scroll-area-blue')
    .delay(5000)
    .queue(function() {
        $(this).enscroll({
             showOnHover: false,
             verticalScrolling: true,
             verticalTrackClass: 'vertical-track-blue',
             verticalHandleClass: 'vertical-handle-blue'
        });
    });

如果您将使用 setTimeout 更好地使用它,如下所示:

setTimeout( enscrollDiv, 5000); 

function enscrollDiv(){
    $('div.scroll-area-blue').enscroll({
         showOnHover: false,
         verticalScrolling: true,
         verticalTrackClass: 'vertical-track-blue',
         verticalHandleClass: 'vertical-handle-blue'
    });
}

希望这有帮助。

关于javascript - Jquery Onclick 功能不适用于 div,因为特定时间后会加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37919830/

相关文章:

jquery - 选择没有第一个父级 img 的所有标签 a jQuery

javascript - jQuery Isotope `arrangeComplete` 监听器不触发

javascript - Jquery表单验证不可见字段

javascript - 如何从图片中提取图标并显示在页面中? (通过 javascript 或 jquery 或 css)

javascript - jQuery .attr 无法正常工作,无法检索链接

javascript - 在同一个 html 页面上使用不同的 D3 版本

javascript - 改变滚动不同区域的div不透明度

jquery - 使用jquery从li内的字符串中提取数字

javascript - "Error: connect ENOENT"当 Node Express 中间件发出 POST 请求时(使用 Node 请求库)

javascript - 禁用卫星弹出窗口标题栏