jquery:firefox无法找到id标签,但safari可以吗?

时间:2009-12-07 00:39:02

标签: javascript jquery dom

这个问题太奇怪了。

我使用jquery将特定ID链接到警报(“hello”)。

$("#submit_reply").live("click", function() {
    event.preventDefault();
    alert("hellooooo");
});

现在在safari中点击它有效。但是当我使用firefox它不工作。 submit_reply(提交按钮)刷新整个页面。也就是说,jquery无法绑定它。

我该如何调试此问题? firefox在控制台中显示没有错。但为什么它在野生动物园中起作用?我可以用什么工具来检查问题是什么......帮助!

2 个答案:

答案 0 :(得分:5)

您没有将event对象传递给函数。

试试这个:

$( "#submit_reply" ).live( 'click', function( e ) {
     e.preventDefault();
     alert( 'hello' );
} );

或者这个:

$( "#submit_reply" ).live( 'click', function( ) {
     alert( 'hello' );
     return false;
} );

只要在函数结束之前执行e.preventDefault()return false;,就可以了。

答案 1 :(得分:1)

问题可能是您从未将event参数发送到该函数中,因此点击处理程序中的第一行失败,Firefox将转到原始点击操作 - 请点击链接。

尝试此更改:

$('#submit_reply').live('click', function(ev) {
    ev.preventDefault();
    alert('hello, is there anyone home?');
});