2015-04-03 154 views
1

用下面的代碼:運行腳本牽強只有一次

<a href="#" onmouseover="$.getScript('http://www.example.com/x.js')">aaa</a> 

我想只運行x.js一次,我可以使用什麼jQuery,使其執行x.js只有一次?

謝謝。

+0

請參見[56, 「問題‘’包括在他們的頭銜?」 標籤(http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles),其中共識是「不,他們不應該」! – 2015-04-03 18:27:20

回答

1

最好的辦法是通過.one()附加事件處理程序,而不是:

HTML:

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

的JavaScript:

$("#example").one("mouseover", function() { 
    $.getScript('http://www.example.com/x.js'); 
}); 

或者,如果你有使用內嵌腳本,你可以設置一個標誌,並且第一次只能撥打$.getScript()(這不是建議的):

HTML:

<a id="example" href="#" onmouseover="doMouseOver();">aaa</a> 

的JavaScript:

var scriptRan = false; 
function doMouseOver() { 
    if (!scriptRan) { 
    scriptRan = true; 
    $.getScript('http://www.example.com/x.js'); 
    } 
} 
+0

我不能這樣做,我想要的代碼,我可以放入onmouseover屬性。 – noz70629 2015-04-03 16:42:23

+2

@ noz70629儘可能避免內聯腳本和樣式。 – j08691 2015-04-03 16:46:46

+0

@ noz70629我給了你一個選擇,如果由於某種原因你絕對需要使用內聯腳本 – dave 2015-04-03 16:49:42