//prevent default handler
function click_handler(event){
if(event.shiftKey){
event.preventDefault();
}
}
//event listener
var file_mgmt=document.querySelector('div.filemanager');
if(window.addEventListener){
file_mgmt.addEventListener('click',click_handler,false);
}else if(window.attachEvent){
file_mgmt.attachEvent('onclick',click_handler);
}else{
file_mgmt.onclick=click_handler;
}
基本上 file_mgmt 是一个 div 容器,其中包含链接到另一个链接的标签。由于 Shift+click 在新的 _blank 选项卡中打开链接,我想阻止它,因为它会损坏原始页面布局。
过了一段时间就放弃了,我什至尝试遵循 Mozilla 文档:Event.preventDefault() ,结果是一样的。
有什么建议吗?
最佳答案
阻止点击 div 时的默认操作不会执行任何操作,因为默认情况下它不会执行任何操作。 您应该将点击处理程序附加到实际链接。
关于javascript - PreventDefault() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30914942/