Jquery和javascript名称
在尝试命名我的js/jquery代码时,我遇到了以下问题 基本上,我曾经在每个html/php文件中编写所有JS代码,我想将其抽象为一个带有名称空间的JS文件 因此,在我的html文件中,我有:Jquery和javascript名称,javascript,jquery,Javascript,Jquery,在尝试命名我的js/jquery代码时,我遇到了以下问题 基本上,我曾经在每个html/php文件中编写所有JS代码,我想将其抽象为一个带有名称空间的JS文件 因此,在我的html文件中,我有: <script type="text/javascript"> $(document).ready(productActions.init()); </script> var productActions = { init: function() {
<script type="text/javascript">
$(document).ready(productActions.init());
</script>
var productActions = {
init: function() {
alert('initialsed');
$('#field_id').change(function() {
alert('ok!');
});
}
productActions init函数肯定正在运行,因为我得到了第一个警报(初始化)。然而,似乎没有一个jquery绑定函数做任何事情。单步执行init函数表明上面的change函数正在注册,但实际上更改字段中的值完全没有任何作用
我是不是漏掉了什么明显的东西
$(document).ready(productActions.init());
此代码立即调用init()
,并将其返回值传递给ready(…)
。(与任何其他函数调用一样)
相反,你可以写作
$(document).ready(productActions.init);
传递函数本身。但是,这会用错误的this
调用它;如果您需要此
,请编写
$(document).ready(function() { productActions.init() });
此代码立即调用init()
,并将其返回值传递给ready(…)
。(与任何其他函数调用一样)
相反,你可以写作
$(document).ready(productActions.init);
传递函数本身。但是,这会用错误的this
调用它;如果您需要此
,请编写
$(document).ready(function() { productActions.init() });
很好,我刚学到两件事;),你能解释一下为什么“这个”是错的吗?它会指向jqueryready函数的“this”吗?因此,如果我需要将变量传递给init函数,那么我将使用$(document).ready(function(){productActions.init(var1,var2)})@Marcel:
此
是根据调用函数的方式设置的。很好,我刚学到两件事;),你能解释一下为什么“这个”是错的吗?它会指向jqueryready函数的“this”吗?因此,如果我需要将变量传递给init函数,那么我将使用$(document).ready(function(){productActions.init(var1,var2)})@Marcel:此
是根据调用函数的方式设置的。