2012-02-01 43 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

相关问题