我已经用jQuery工作了两个星期,我注意到它与原始HTML文档中的对象一起工作正常,但是当我使用jQuery生成一个新元素时,库没有得到它的任何事件.
假设我尝试运行这样的事情:
$('.whatever').click(function() {
alert("ALERT!");
});
Run Code Online (Sandbox Code Playgroud)
如果HTML确实有这样的东西:
<span class="whatever">Whatever</span>
Run Code Online (Sandbox Code Playgroud)
然后点击这个词Whatever给我一个很好的警报.
但是如果span使用jQuery动态添加元素,则单击它时不会发生任何事情.
有没有办法让jQuery与这些元素一起工作?
假设我有一个对象,它有一个返回对象本身的方法.
var mystate = {
init: function() {
return this;
},
run: function() {
console.log("!");
}
}
Run Code Online (Sandbox Code Playgroud)
然后我运行这段代码:
var status = mystate.init();
mystate.run();
status.run();
Run Code Online (Sandbox Code Playgroud)
在Firefox中,这会打印两个"!" 控制台中的标志,但不知何故在Chrome中打印出第一个,但我收到错误,
未捕获的TypeError:对象[object Object]没有方法'run'
什么时候运行 status.run()
当我status.run()在Chrome中运行时,状态似乎未定义,但在Firefox中则不行.
那么......为什么会这样,我怎么能让一个物体返回呢?