我有这个工作规范,直到规格改变。此功能现在通过ajax .load引入。很容易将它带入,我在页面上的所有其他功能都在父页面中工作,除了这一个:
$("#CME").hide();
$(function() {
$("#CME1, #CMEQL, #CBT1, #CBTQL, #NYM1, #CMX1").live("change", function(){
var checkBoxes = $("#CME1, #CMEQL, #CBT1, #CBTQL, #NYM1, #CMX1").filter(":not(:checked)");
if(checkBoxes.length == 0){
$("#CME").slideDown("fast");
} else {
$("#CME").slideUp("fast");
}
});
});
div“#CME”没有被隐藏,而.live('change',function(){不起作用。我有其他类似的.live函数正在工作和结构相同。我如何绑定初始$(function()与.live以及为什么不.hide()工作?
以下是引入此内容的代码
$(function() {
$("#subscribe").click(function () {
$("#singleContent").load('purchaseForm.php #formContent', function()
{
$('[class^=toggle-item]').hide();
$('[class^=link]').click(function(e) {
$('.toggle-item-' + this.className).slideToggle("fast");
$('span',this).text(function(i,txt) {
return txt === "Learn More..." ? "Close" : "Learn More...";
e.preventDefault();
});
});//toggle
$(function() {
var $add = $('input.add');
$add.click(function() {
$add.removeAttr('checked');
$(this).attr('checked', true);
});//$add
});//function
});//load
});//#subscribe
我想我可能刚刚回答了我自己的问题
编辑 - 我通过将它(将其放入)绑定到.load函数
来实现它答案 0 :(得分:3)
$("#CME").hide();
无效,因为它可能在DOM准备好之前运行。尝试将其放在$(function() {});
区块内。
.live()
不需要位于$(function() {});
块内。只要事件出现在DOM中,live
就会绑定一个事件,即使它在被调用时不存在。
确保您的功能已关闭。您似乎在代码末尾缺少});
。