这只是一段学习代码,这并不是为了实现功能。
<!DOCTYPE html>
<html>
<body>
<button id="b1">I am b1 </button>
<br/>
<button id="b2">I am b2 </button>
</body>
</html>
$(document).ready(function () {
$("#b2").trigger('click'); // this is not hiding the b2
$("#b2").click(); // this is not hiding the b2
$("#b2").click(function () {
$(this).hide();
}); // when i click on b2 then b2 is hidden
$("#b1").click(function () { // when i click on b1, then b2 is hidden
$("#b2").click();
});
});
JS小提琴:https://jsfiddle.net/6k5wh9m0/
为什么在页面加载时未调用$("#b2").click()
?
我从这种行为中推断出元素b2
可能在绑定时可能不可用。但这是对的吗?这是否意味着我们无法在.click()
上致电document.ready()
?
答案 0 :(得分:3)
在注册处理程序
后触发事件$(document).ready(function () {
$("#b2").click(function () {
$(this).hide();
}); // when i click on b2 then b2 is hidden
$("#b1").click(function () { // when i click on b1, then b2 is hidden
$("#b2").click();
});
$("#b2").click(); // need to trigger the event after the handler is registered, else when the event is triggered there is nothing to do
});
$(document).ready(function() {
$("#b2").click(function() {
$(this).hide();
}); // when i click on b2 then b2 is hidden
$("#b1").click(function() { // when i click on b1, then b2 is hidden
$("#b2").click();
});
$("#b2").click(); // this is not hiding the b2
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="b1">I am b1</button>
<br/>
<button id="b2">I am b2</button>
&#13;
答案 1 :(得分:0)
或者你可以:
$("#b2").click(function () {
$(this).hide();
}).click();
或
$("#b2").click(function () {
$(this).hide();
}).trigger('click');