dojo的event.preventDefault()不适用于 tag

问题描述 投票:1回答:2

我对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都不会触发任何错误或异常,所以我猜,没有语法错误。

我试图将该功能连接到输入提交而不是链接,它工作但我需要它连接到链接....

也许我只是累了,但我发誓我看不到错误......

javascript html dojo
2个回答
2
投票

在您的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


0
投票

我只是有同样的问题,并认为我疯了。但后来我发现了这个dojo方法:

event.stopImmediatePropagation();

在这里:http://dojotoolkit.org/reference-guide/quickstart/events.html,这最终阻止了超链接做它的事情。显然dojo提供了自己的事件对象,它不像本机事件那样。

© www.soinside.com 2019 - 2024. All rights reserved.