我目前已将此jquery触发到我的选择列表的第一个单击事件。
当有人第一次点击选择列表时,jQuery会被触发,需要几秒钟才能完成并为用户做好准备。
如何更改功能,以便在页面加载时(或尽快)在后台运行?我希望它在用户点击选择/下拉菜单(#my_select)之前为用户做好准备。
$('#my_select').one('click',function(){
var myList = $(this);
//myList.addClass("disabled");
$('#my_select option').each(function(){
var option = $(this);
option.attr("disabled","disabled");
$.get('<?php echo get_bloginfo('template_directory') ?>/getStyle.php',{option: $(this).val()},function(response)
{
if (response=='true'){option.attr("disabled","");}else{option.addClass("disabled");}
});
});
//myList.attr("disabled","");
});
答案 0 :(得分:0)
$(document).ready(function(){
var myList = $(this);myList.attr("disabled","disabled");
$.get
(
'<?php echo get_bloginfo('template_directory') ?>/getTemplates.php',function(response)
{
myList.attr("disabled","");
}
);
});
使用$(document).ready();在dom完全加载后执行脚本。
答案 1 :(得分:0)
快速&amp;脏的解决方法作为替代解决方案
$(document).ready(function () {
$('#my_select').trigger('click').unbind('click');
});
一旦页面加载,它将触发#my_select的click事件,然后取消绑定事件,这样当有人实际“点击”它时就不会发生这种情况。
正确的方法是将整个文档作为独立函数而不是事件放在doc.ready中。