Internet Explorer 7上的JavaScript/jQuery问题

Cap*_*ble 0 javascript jquery javascript-events

我有一个简单的HTML页面,如下所示:

...<div id="main">
    <a href="#">Click here!</a>
</div>...
Run Code Online (Sandbox Code Playgroud)

我在标题中有一段jQuery JavaScript,如下所示:

   <script type="text/javascript">
    $(document).ready(function() {
        DoHello();
    });

    function DoHello()
    {   
        $("div#main a").text("Click here!");
        $("div#main a").attr("onmouseup", "javascript:alert('Hello!');");
    }
</script>
Run Code Online (Sandbox Code Playgroud)

当我点击FireFox中的HTML链接时,我会收到一条警告,上面写着"你好!".为什么这在IE7/8中不起作用?

当我在IE中查看(动态)构建DOM时,我可以看到"onmouseup"存在,但它永远不会被调用.我试过用"onclick"替换"onmouseup" - 同样的问题......

Jam*_*mes 7

你不应该使用JavaScript伪协议.

这应该工作:

function DoHello()
{   
    $("div#main a")
        .text("Click here!")
        .mouseup(function(){
             alert('Hello!');
        });
}
Run Code Online (Sandbox Code Playgroud)


Cre*_*esh 5

不要使用expando事件,使用jQuery!

$("div#main a").mouseup(function(){ alert('Hello!') });
Run Code Online (Sandbox Code Playgroud)