dojo's event.preventDefault() not working on <a> t

dojo's event.preventDefault() not working on <a> tag

本文关键字:on working lt gt not event preventDefault dojo      更新时间:2023-09-26

我是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提供了自己的事件对象,它的行为与本地事件对象不同。