Jquery可嵌套插件项单击事件不起作用

时间:2014-09-29 09:21:02

标签: jquery jquery-click-event

我正在使用jquery nestable。 一切正常,除了一件事:我想在每个项目上添加鼠标点击事件,如下所示:

   <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>

但它不起作用。没有语法错误。似乎插件已被禁用或我错过了配置。

2 个答案:

答案 0 :(得分:1)

如果您使用插件,可能会在DOM加载后通过插件动态生成html,因此请使用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");
}) 

答案 1 :(得分: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');
    }
});