我在页面上有一些可拖动的元素。这些相同的元素有一个导航到另一个页面的点击事件。我试图确定阻止点击事件发起的最好方法,如果用户正在拖动,但仍然允许点击事件(如果不拖动)。任何人有任何想法来完成这个最好的方法?使用Scriptaculous拖放防止JavaScript单击事件
4
A
回答
1
我解决了这个使用类似以下内容:
new Draggable('id', {
onStart: function() {
dPhoto = $('id');
Event.stopObserving('id', 'click');
},
onEnd : function() {
setTimeout("Event.observe('id', 'click', function() { location.href = 'url'; });", 500);
},
revert: true
});
0
类似下面可能做的伎俩(防止click事件被解雇了)
new Draggable('tag',
{
revert:function()
{
$('tag').onclick = function(){return false;};
setTimeout('$(\'tag\').onclick = function(){return true;}','500');
return true;
}
}
);
1
var click_func;
function onDragStart(drgObj,mouseEvent){
click_func = mouseEvent.target.onclick;
mouseEvent.target.onclick = function(e){
mouseEvent.target.onclick = click_func;
return false;
}
}
0
你也可以用另一种方式做到这一点。在你的startDrag你停止观察对象。然后你再次观察点击会导致重新创建第一个事件处理程序的enddrag函数。
function onDragStart() {
Event.stopObserving(this.OBJECT,'click');
Event.observe(this.OBJECT,'click',this.onDragEnd.bindAsEventListener(this));
}
function onDragEnd() {
Event.stopObserving(this.OBJECT,'click');
Event.observe(this.OBJECT,'click',this.PREVIOUSFUNCTION.bindAsEventListener(this));
}
这将赶上吃剩的点击事件,仍然是活动后enddrag只是重建原始的处理程序。我希望这可以帮助那里的人:)
相关问题
- 1. Scriptaculous拖放
- 2. 拖动事件不起作用 - 防止拖放
- 3. 拖放事件javascript
- 4. map.clearLayers防止单击事件中的“单击”事件
- 5. 使用jQuery拖预防单击事件和下降
- 6. jquery点击事件防止
- 7. 拖放:jQuery UI或Scriptaculous?
- 8. 如何防止两次发生Javascript单击事件?
- 9. 防止拖放分支外
- 10. 使用FullCalendar拖放事件
- 11. Javascript:防止keyUp事件
- 12. 单击拖放JTable
- 13. 拖放事件
- 14. 本机HTML5拖放和点击事件
- 15. 使用Javascript防止移动Safari/iPhone中的触摸事件产生鼠标仿真事件(即,单击)
- 16. 使用Javascript生成单击事件
- 17. 防止事件
- 18. 防止点击事件两秒钟
- 19. 防止默认的点击事件(WinAPI)
- 20. 添加防止默认点击事件?
- 21. 防止在UITextView上点击事件
- 22. 防止点击事件影响父jQuery
- 23. 的JavaScript - dragend拖放事件不触发
- 24. HTML5拖放 - 防止拖放一个项目
- 25. 如何防止弹出窗口右键单击使用JavaScript?
- 26. 将jquery-ui-sortable列表拖放到单击事件
- 27. Jquery拖放 - 单击事件寄存器下降
- 28. html5 - 拖放 - 不触发拖放事件
- 29. 防止在字幕上拖放
- 30. 如何防止“自我”拖放datagridview?
谢谢,但这并没有很好的工作。它可以防止即使在超时之后发生点击事件。似乎应该有一个更清洁的解决方案。 – digitalsanctum 2008-11-08 17:38:05
我同意。我值得一试。 – VonC 2008-11-08 17:57:54