dojo的event.preventDefault()不适用于 tag
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dojo的event.preventDefault()不适用于 tag相关的知识,希望对你有一定的参考价值。
我对Dojo很新,但我试图将现有的javascript界面从纯javascript转换为Dojo。
我坚持以下问题
基本上我试图转换
<a id="myLink" onclick="myfunction()">bla</a>
function myfunction() {
//some funny code
return false; //To PREVENT default link behaviour
}
以下
var handle = dojo.connect(dojo.byId('myLink'),'onclick',function (evt) {
evt.preventDefault(); //took from dojo reference
//same code that worked in pure js
});
我无法解决问题。 Chrome和Firefox都不会触发任何错误或异常,所以我猜,没有语法错误。
我试图将该功能连接到输入提交而不是链接,它工作但我需要它连接到链接....
也许我只是累了,但我发誓我看不到错误......
答案
在您的html正文上:
<a id="myLink">bla</a>
在HTML标题上:
<script type="text/javascript>
dojo.ready(function(){
dojo.connect(dojo.byId("myLink"), "onclick", null, function(evt){
evt.preventDefault();
console.debug("Default behaviour prevented");
});
});
</script>
更多关于此:http://dojotoolkit.org/reference-guide/quickstart/events.html
另一答案
我只是有同样的问题,并认为我疯了。但后来我发现了这个dojo方法:
event.stopImmediatePropagation();
在这里:http://dojotoolkit.org/reference-guide/quickstart/events.html,这最终阻止了超链接做它的事情。显然dojo提供了自己的事件对象,它不像本机事件那样。
以上是关于dojo的event.preventDefault()不适用于 tag的主要内容,如果未能解决你的问题,请参考以下文章
反应复选框:event.preventDefault() 中断 onChange 函数 - 为啥?
TypeError:event.preventDefault 不是函数
jQuery event.preventDefault 的 Javascript 本机等效项 [重复]