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