我正在使用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>
但它不起作用。没有语法错误。似乎插件已被禁用或我错过了配置。
答案 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');
}
});