我在頁面上有一些可拖動的元素。這些相同的元素有一個導航到另一個頁面的點擊事件。我試圖確定阻止點擊事件發起的最好方法,如果用戶正在拖動,但仍然允許點擊事件(如果不拖動)。任何人有任何想法來完成這個最好的方法?使用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. 拖放事件javascript
- 3. map.clearLayers防止單擊事件中的「單擊」事件
- 4. 模式防止外單擊使用javascript
- 5. 防止點擊進入事件的JavaScript
- 6. 使用jQuery拖預防單擊事件和下降
- 7. JavaScript的:拖和使用Scriptaculous和Prototype
- 8. 拖放:jQuery UI或Scriptaculous?
- 9. jquery點擊事件防止
- 10. 防止點擊事件jquery
- 11. 如何防止兩次發生Javascript單擊事件?
- 12. 防止拖放分支外
- 13. 防止拖放HTML元素
- 14. 使用FullCalendar拖放事件
- 15. 防止使用單擊事件添加重複ajaxLoad事件調用
- 16. Javascript:防止keyUp事件
- 17. 將事件拖放到FullCalendar時防止重疊
- 18. 單擊拖放JTable
- 19. 拖放事件
- 20. 如何在extjs中雙擊時防止單擊事件發生
- 21. JavaScript單擊事件
- 22. WPF點擊和拖放事件衝突?
- 23. 本機HTML5拖放和點擊事件
- 24. 如何在拖放事件時調用點擊事件
- 25. 使用Javascript防止移動Safari/iPhone中的觸摸事件產生鼠標仿真事件(即,單擊)
- 26. 使用Javascript生成單擊事件
- 27. jQuery:防止按鈕/單擊事件上的表單提交
- 28. hammer.js - 防止拖動事件,直到上一個事件結束
- 29. 防止事件
- 30. 防止點擊事件兩秒鐘
謝謝,但這並沒有很好的工作。它可以防止即使在超時之後發生點擊事件。似乎應該有一個更清潔的解決方案。 – digitalsanctum 2008-11-08 17:38:05
我同意。我值得一試。 – VonC 2008-11-08 17:57:54