2014-09-29 67 views
1

我正在使用jquery nestable。 一切工作正常,除了一两件事:我想在每个项目上添加鼠标点击事件象下面这样:jquery可嵌套插件项目单击事件不起作用

<li class="dd-item" data-id="1" onclick="doWork();"> 
     <div class="dd-handle">Item 1</div> 
    </li> 

和我的代码Java脚本:

<script type="text/javascript"> 
    function doWork() { 
    alert('clicked'); 
    } 
</script> 

但它不工作。没有语法错误。看起来这个插件被禁用或者我错过了一些配置。

回答

0

如果你正在使用的插件,可能是由插件动态生成的HTML DOM后负载,使用delegated events

<li class="dd-item" data-id="1"> 
     <div class="dd-handle">Item 1</div> 
    </li> 

和jQuery中:

$(document).on("click",".dd-item",function(){ 
    alert("clicked"); 
}) 
+0

非常感谢,但它仍然无法正常工作。 – 2014-09-29 09:35:21

+0

确保包含jquery,并将其包装在'document.ready'中 – 2014-09-29 09:46:38

+0

是的,我做了它。我的代码包括一些其他功能坚持一些HTML元素和所有这些工作罚款除了上述事件罚款。我不知道为什么。我看到萤火虫,没有错误兄弟。 – 2014-09-29 10:03:42

0

我有这个问题,我解决了它与:

var clickData = {}; 
$(document).on('mousedown', '.dd-dragel > li', function(e){ 
    clickData.timer = (new Date()).getTime(); 
    clickData.x = e.pageX; 
    clickData.y = e.pageY; 
}).on('mouseup', '.dd-list .dd-item', function(e){ 
    let n = (new Date()).getTime() - clickData.timer; 
    if(clickData.x === e.pageX && clickData.y === e.pageY && n < 200){ 
     console.log('clicked'); 
    } 
});