我有一些实验输入检查的Javascript:从模块内执行DOM准备好的JQuery函数?
$(function(){
var check_stuff = function(elem){
//...code to check stuff
};
// grab every input element with a checkable class
$('input.checkable').each(function(i) {
$(this).click(function(){
if check_stuff(elem) {
$(this).submit(); // submit if passes checks
}
};
});
});
其中一期工程。但是,我担心这会污染全球空间。因此,如果'jquery_stuff'函数是在jQuery中的某个地方定义的,或者由另一个共享$的模块定义的,我实际上已经重写了它。那是对的吗?
如果我删除第一行$:
(function(){
那么相信我创建一个标准的JavaScript匿名函数,从而有效隔离check_stuff。但是:
$(this).click(function(){
...不再在DOM准备好的时候执行(因为它一经执行就执行)。我试过用jQuery(document).ready来包装它以达到无效的效果。
什么是创建模块的正确方法,该模块执行准备好的代码块?
感谢大家谁张贴,你通常都在相同(正确)的波长上。 –