ajax调用onClick只需要在firefox上点击两次

时间:2012-02-27 06:19:22

标签: javascript html ajax

我在PHP和javascript中进行了简单的ajax实时搜索。

我使用标准的js ajax调用脚本,例如来自w3schools的脚本。

http://www.w3schools.com/ajax/ajax_aspphp.asp

该函数基本上被调用onkeyup并且php文件返回结果列表,如下所示:

<a href='javascript:void(0)' onCLick='example()'>example</a>

问题是只需单击ie和chrome即可调用函数exampe(),而在firefox上,需要双击调用exampe()(就像页面没有聚焦一样)。

这是firefox的已知问题吗?有没有人经历类似的事情?

1 个答案:

答案 0 :(得分:0)

这个小提琴http://jsfiddle.net/steveukx/GVbZU/显示你上面的代码正常工作,你确定你作为onclick处理程序调用的函数存在吗? Firebug(或内置于控制台中的Firefox)应该为您指向JavaScript引发的任何错误。

您可以使用JavaScript附加事件侦听器,而不是使用onclick属性,例如:

HTML:

<a id="exampleLink" href="#">example</a>

的JavaScript

function example(evt) {
    // function run in the scope of the anchor element
}
document.getElementById('exampleLink').addEventListener('click', example, true);

注意:上面的示例假设您不支持IE&lt; = 7,如果您是,那么您应该检查是否存在addEventListener或IE特定的attachEvent,请参阅http://www.quirksmode.org/js/events_advanced.html