最近有一个问题一直困扰着我:在mousedown处理程序中,我使用preventDefault()来防止文本在拖动时被选中:
$(document).bind('mousedown', function(event){
event.preventDefault();
});
目前为止还不错。
然后,在仍按下鼠标按钮的情况下,我想等待触发longclick
事件(http://github.com/pisi/Longclick),并让longclick
处理程序以某种方式恢复原始的mousedown
事件,并开始文本选择,就好像事件的默认值从未被阻止过一样。
有没有一种方法能够晚一点触发原生的鼠标事件?
.trigger
是否能够以某种方式接受现有的(存储的)事件对象?例如这样:
var originalEvent;
$(document)
.bind('mousedown', function(event){
event.preventDefault();
originalEvent= event;
})
.bind('longclick', function(event){
$(event.target).trigger(originalEvent)
})
我希望能够拖动整个文字段落,并仍然有可能在段落内执行文本选择。
欢迎所有答案、建议和想法!