Javascript dispatchEvent导致页面重新加载

Javascript dispatchEvent导致页面重新加载,javascript,javascript-events,event-handling,mouseevent,Javascript,Javascript Events,Event Handling,Mouseevent,我一直在使用在上演示的一些模态代码。不错的材质设计风格模态,但正如演示的,要激活它们,基本上需要单击 位置 -28.8050149.9483 这应该与点击链接相同,不是吗 否,以编程方式创建的事件具有该属性。这意味着调用preventDefault()不会停止默认操作。由于您正在单击锚点,因此需要阻止默认的导航操作 您需要传入一个EventInit字典,其cancelable属性设置为true new Event('click',{cancelable:true}); 这将允许prevent

我一直在使用在上演示的一些模态代码。不错的材质设计风格模态,但正如演示的,要激活它们,基本上需要单击

位置

-28.8050149.9483

这应该与点击链接相同,不是吗

否,以编程方式创建的事件具有该属性。这意味着调用
preventDefault()
不会停止默认操作。由于您正在单击锚点,因此需要阻止默认的导航操作

您需要传入一个EventInit字典,其
cancelable
属性设置为
true

new Event('click',{cancelable:true});
这将允许
preventDefault()
停止默认操作

演示

var link=document.querySelector(“a”);
var btn=document.querySelector(“#秒”);
var btn2=document.querySelector(“#third”);
link.addEventListener(“单击”,函数(e){
e、 预防默认值();
如果(如可取消)
document.body.insertAdjacentHTML('beforeed','
事件已取消
'); }); btn.addEventListener(“单击”,函数(){ var evt=新事件(“单击”{cancelable:true}); 链接调度事件(evt); }); btn2.addEventListener(“单击”,函数(){ var evt=新事件(“点击”); 链接调度事件(evt); });

第二次单击(使用可取消设置模拟单击)
单击第三个(模拟单击而不取消设置)
这应该与点击链接相同,不是吗

否,以编程方式创建的事件具有该属性。这意味着调用
preventDefault()
不会停止默认操作。由于您正在单击锚点,因此需要阻止默认的导航操作

您需要传入一个EventInit字典,其
cancelable
属性设置为
true

new Event('click',{cancelable:true});
这将允许
preventDefault()
停止默认操作

演示

var link=document.querySelector(“a”);
var btn=document.querySelector(“#秒”);
var btn2=document.querySelector(“#third”);
link.addEventListener(“单击”,函数(e){
e、 预防默认值();
如果(如可取消)
document.body.insertAdjacentHTML('beforeed','
事件已取消
'); }); btn.addEventListener(“单击”,函数(){ var evt=新事件(“单击”{cancelable:true}); 链接调度事件(evt); }); btn2.addEventListener(“单击”,函数(){ var evt=新事件(“点击”); 链接调度事件(evt); });

第二次单击(使用可取消设置模拟单击)
单击第三个(模拟单击而不取消设置)