如何恢复事件的浏览器默认行为
How to restore browser default behavior for an event?
我有一个网页(使用HTML5/javascript)使用div来定义布局。
由于我有一些元素,我希望能够拖动,不希望在此过程中选择文本,我已经禁用了最外层的容器div的selectstart
和onmousedown
事件,使用:
document.getElementById("mapContainer").onselectstart = function(){return false;};
document.getElementById("mapContainer").onmousedown = function(){return false;};
然而,我在布局中也有一个文本框,我需要能够选择并写入搜索目的。我发现了许多关于如何禁用浏览器默认行为的主题,但没有具体的关于如何恢复默认行为的主题。如果需要的话,我可以,但我想避免对脚本进行重大重写。因此,我想知道是否有一个"restoreDefault"类型函数/设置,我可以应用到文本框
使用addEventLsitener
和removeEventListener
来更好地访问您的事件侦听器:
function fooBar(){
return false;
}
document.getElementById('mapContainer').addEventListener('selectstart', fooBar); // Start listening
document.getElementById('mapContainer').removeEventListener('selectstart', fooBar); // Stop lsitening
您还可以像这样删除当前拥有的事件侦听器:
document.getElementById('mapContainer').onmousemove = null;
您可以在禁用它之前检查它是否在文本区开始: