Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery:firefox找不到id标签,但safari可以?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript jquery:firefox找不到id标签,但safari可以?

Javascript jquery:firefox找不到id标签,但safari可以?,javascript,jquery,dom,Javascript,Jquery,Dom,这个问题太奇怪了 我使用jquery将特定id链接到警报(“hello”) 现在在safari中,当我单击它时,它会工作。但是当我使用firefox时,它就不起作用了。提交回复(提交按钮)刷新整个页面。也就是说,jquery无法绑定它 如何调试此问题?firefox在控制台中没有显示任何错误。但是为什么它在safari中起作用呢?我可以使用什么工具来检查问题所在…帮助 您没有将事件对象传递给函数 试试这个: $( "#submit_reply" ).live( 'click', function

这个问题太奇怪了

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

现在在safari中,当我单击它时,它会工作。但是当我使用firefox时,它就不起作用了。提交回复(提交按钮)刷新整个页面。也就是说,jquery无法绑定它


如何调试此问题?firefox在控制台中没有显示任何错误。但是为什么它在safari中起作用呢?我可以使用什么工具来检查问题所在…帮助

您没有将
事件
对象传递给函数

试试这个:

$( "#submit_reply" ).live( 'click', function( e ) {
     e.preventDefault();
     alert( 'hello' );
} );
或者这个:

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

只要
e.preventDefault()
返回false在函数结束前执行,就可以开始了

您没有将
事件
对象传递给函数

试试这个:

$( "#submit_reply" ).live( 'click', function( e ) {
     e.preventDefault();
     alert( 'hello' );
} );
或者这个:

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

只要
e.preventDefault()
返回false在函数结束前执行,就可以开始了

问题可能是您从未将
事件
参数发送到函数中,因此单击处理程序中的第一行失败,Firefox求助于原始的单击操作-跟随链接

尝试以下更改:

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

问题可能是您从未将
事件
参数发送到函数中,因此单击处理程序中的第一行失败,Firefox求助于原始的单击操作-跟随链接

尝试以下更改:

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

正在单击的元素是什么?按钮?单击的元素是什么?按钮?返回false做什么?它相当于对传递的事件调用preventDefault。实际上相当于同时调用,
preventDefault
stopPropagation
。返回false做什么?它相当于对传递的事件调用preventDefault。实际上相当于同时调用这两个按钮,
preventDefault
stopPropagation
。可能是因为safari没有仅仅因为一行失败就停止运行javascript。我不是safari如何处理javascript链接的专家,但在Firefox中,任何失败的javascript(例如试图调用未定义变量上的函数)都会失败,不会发生更多的事情。也许Safari只是走到下一行,希望一切都好。可能是因为Safari没有因为一行失败就停止运行javascript。我不是safari如何处理javascript链接的专家,但在Firefox中,任何失败的javascript(例如试图调用未定义变量上的函数)都会失败,不会发生更多的事情。也许Safari会去下一条线路,希望一切顺利。