Jquery 将按钮的单击事件绑定到可拖放功能
我有一个列表,每个列表项中都有超链接。此列表不可排序,但可以放到ID为#dropable的div中。现在,如果我拖放任何列表项,那么Dropable中提供的函数将完美执行。到目前为止,一切顺利。我不想拖动列表项,而是想单击它以执行相同的可拖放功能,这样我就可以传递列表项的项&如果需要,还可以传递超链接id。但这是行不通的 以下是我迄今为止尝试过的完整代码:(我有jQuery和jqueryui)Jquery 将按钮的单击事件绑定到可拖放功能,jquery,jquery-ui,button,click,jquery-ui-droppable,Jquery,Jquery Ui,Button,Click,Jquery Ui Droppable,我有一个列表,每个列表项中都有超链接。此列表不可排序,但可以放到ID为#dropable的div中。现在,如果我拖放任何列表项,那么Dropable中提供的函数将完美执行。到目前为止,一切顺利。我不想拖动列表项,而是想单击它以执行相同的可拖放功能,这样我就可以传递列表项的项&如果需要,还可以传递超链接id。但这是行不通的 以下是我迄今为止尝试过的完整代码:(我有jQuery和jqueryui) $(“#我的列表li,#我的列表li a”).bind(“单击”,函数(事件,用户界面){
$(“#我的列表li,#我的列表li a”).bind(“单击”,函数(事件,用户界面){
删除(事件,用户界面);//不起作用
返回false;
});
//我也尝试了以下方法,但不起作用
$(“#我的列表li,#我的列表li a”)。在(“单击”,函数(事件,用户界面){
删除(事件,用户界面);//不起作用
返回false;
});
$(“#可拖放”)。可拖放({
drop:函数(事件、用户界面){
Drop(事件、用户界面);
}
});
函数删除(事件、用户界面){
var draggableId=ui.draggable.attr(“id”);
var droppableId=$(this.attr(“id”);
警报(DragableId+DragableId);//当可拖放项被删除时,此警报会正确触发,但如果单击了#我的_列表中的超链接,则不会正确触发。
};
.bind(“click”,function(event,ui){…}
将保留ui
参数未定义,因此当您将该参数传递到Drop(event,ui)
中,然后在Drop()
doui.draggable.attr(“id”)
中时,您实际执行的操作是未定义的.draggable.attr(“id”)
这将给出一个错误。好的,谢谢你提供的信息。那么你能告诉我如何解决这个问题吗?我刚刚开始使用Dragables/Dropables&我在这方面完全是新手。我在Google上搜索了很多,但似乎没有解决方案的记录,甚至没有问题!.bind(“单击”),function(event,ui){…}
将保留ui
参数未定义,因此当您将该参数传递到Drop(event,ui)
中,然后在Drop()
doui.draggable.attr(“id”)
中时,实际执行的是未定义的.draggable.attr(“id”)
这将给出一个错误。好的,谢谢你提供的信息。那么你能告诉我如何解决这个问题吗?我刚刚开始使用Dragables/Dropables&我在这方面完全是新手。我在谷歌上搜索了很多,但似乎没有解决方案的记录,甚至没有问题!
<ul id="my_list">
<li id="li1"><a href="#" id="a1">Link</a></li>
<li id="li2"><a href="#" id="a2">Link</a></li>
<li id="li3"><a href="#" id="a3">Link</a></li>
</ul>
<div id="droppable"></div>
$("#my_list li, #my_list li a").bind( "click", function(event, ui) {
Drop(event, ui); //Doesnt work
return false;
});
//I also tried the following, but doesnt work
$("#my_list li, #my_list li a").on( "click", function(event, ui) {
Drop(event, ui); //Doesnt work
return false;
});
$("#droppable").droppable({
drop: function(event, ui) {
Drop(event, ui);
}
});
function Drop(event, ui) {
var draggableId = ui.draggable.attr("id");
var droppableId = $(this).attr("id");
alert(draggableId + draggableId); //This alert fires correctly when the droppable is dropped but not if the hyperlink in #my_list is clicked.
};