2012-02-27 58 views
0

我做了一個簡單的PHP和JavaScript的Ajax實時搜索。ajax調用onClick需要點擊兩次只在Firefox上

我使用了標準的js ajax調用腳本,比如來自w3schools的調用腳本。

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

的功能基本上被調用的onkeyup和php文件返回結果的列表,如下列:

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

的問題是,該功能exampe()被調用,只需一次點擊在ie和chrome上,而在Firefox上,它需要雙擊才能調用exampe()(就好像頁面沒有被聚焦)。

這是一個已知的問題與Firefox?有沒有人遇到類似的事情?

+2

您是否檢查過螢火蟲中可能的錯誤/警告? – maialithar 2012-02-27 06:57:11

+0

你能發佈一個鏈接嗎?是否需要通過ajax響應添加結果來重現問題?我沒有看到這個簡化情況下的問題:http://jsfiddle.net/LxGfX/1/ – djd 2012-02-27 07:06:01

+0

該鏈接是由ajax添加到跨度。我沒有hav鏈接 – jjj 2012-02-27 07:19:02

回答

0

這個小提琴http://jsfiddle.net/steveukx/GVbZU/顯示你上面工作得很好的代碼,你確定你調用的函數是onclick處理程序嗎? Firebug(或內置在控制檯中的Firefox)應該會給你一個指向你的JavaScript拋出的錯誤的指針。

除了使用onclick屬性,你可以事件偵聽器由JavaScript連接代替,例如:

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 < = 7,如果你是,那麼你應該檢查是否存在addEventListener或IE特定fic attachEvent,請參閱http://www.quirksmode.org/js/events_advanced.html