Javascript 将参数传递给jQuery ready()的变通方法
我在jQuery document.ready()上调用了一些代码,它用于多个HTML文件。现在的区别是,这些HTML中的每一个都使用不同的div id。 我知道一个选项是只检查$(document.ready()中的硬代码div id。但是我想写一个通用代码,它将基于current/calling HTML页面获取div id 那么,是否有任何方法或解决方法可以将参数传递给jQuery ready()?Javascript 将参数传递给jQuery ready()的变通方法,javascript,jquery,Javascript,Jquery,我在jQuery document.ready()上调用了一些代码,它用于多个HTML文件。现在的区别是,这些HTML中的每一个都使用不同的div id。 我知道一个选项是只检查$(document.ready()中的硬代码div id。但是我想写一个通用代码,它将基于current/calling HTML页面获取div id 那么,是否有任何方法或解决方法可以将参数传递给jQuery ready()?$(文档)。ready()只需要一个函数作为参数,这样您就可以编写一个函数,将ID作为参数,
$(文档)。ready()
只需要一个函数作为参数,这样您就可以编写一个函数,将ID作为参数,并返回$(文档)的函数。ready()
。例如,与此相反:
$(document).ready(function() {
$('#some_id').click(/*...*/);
});
您可以这样做:
function make_ready(id) {
return function() {
$('#' + id).click(/*...*/);
};
}
$(document).ready(make_ready('some_id'));
然后,您可以将make_ready
放在某个公共位置,并使用它为$(document).ready()
调用构建函数。$(document).ready()
只需要一个函数作为参数,这样您就可以编写一个函数,将ID作为参数并返回$(document).ready()的函数
。例如,与此相反:
$(document).ready(function() {
$('#some_id').click(/*...*/);
});
您可以这样做:
function make_ready(id) {
return function() {
$('#' + id).click(/*...*/);
};
}
$(document).ready(make_ready('some_id'));
然后,您可以将
make_ready
放在某个公共位置,并使用它为$(document.ready()
调用构建函数。document ready只是将处理函数作为参数。
通过存储每个html的当前div id,您仍然可以在document ready函数中定义通用代码
<input type="hidden" id="current_div" value="div1" />
$(document).ready(function() {
var div_id = $('#current_div').val();
// generic code
});
$(文档).ready(函数(){
var div_id=$('#current_div').val();
//通用代码
});
document ready只接受处理函数作为参数。
通过存储每个html的当前div id,您仍然可以在document ready函数中定义通用代码
<input type="hidden" id="current_div" value="div1" />
$(document).ready(function() {
var div_id = $('#current_div').val();
// generic code
});
$(文档).ready(函数(){
var div_id=$('#current_div').val();
//通用代码
});
我更喜欢这个解决方案,因为它也是一个很好的例子,说明了闭包的美丽。我同意你@SahilTandon(奇怪的是)。函数是JavaScript世界中的头等公民,为什么不使用它们呢?我更喜欢这个解决方案,因为它也很好地说明了闭包的美丽。我同意你@SahilTandon(很奇怪)。函数是JavaScript世界中的头等公民,为什么不使用它们呢?