2012-02-01 42 views

回答

0

因爲當JQuery的包裝DOM元素,它將其刪除,並將其作爲新包裝元素的子元素重新插入到DOM中。如果它包含內聯JS,它將被重新執行。這就是它的工作原理。這就是爲什麼你應該讓你的JS出DOM的:)

一個簡單的黑客工作周圍,如果你一定要讓JS在腳本塊是創建一個標誌監聽器/ setter方法,就像這樣:

<script type='text/javascript'> 
    if(window.helloworld !== true){ 
     alert('helloworld'); 
     window.helloworld = true; 
    } 
</script> 

http://jsfiddle.net/AlienWebguy/uk67F/2/

當然,我不會建議一樣,在生產應用程序創建的窗口屬性,但概念證明是存在的,有了它你會做什麼。

+0

什麼是解決方案只是包裝它 – coool 2012-02-01 23:01:33

+0

我想我會提前直接dom操作,並有$ .fn.wrap它... http://jsfiddle.net/uk67F/3/ – coool 2012-02-01 23:09:45

+0

但我的重點是有沒有辦法只用jQuery來做到這一點 – coool 2012-02-01 23:18:22

相關問題