我有一个简单的问题,下面的代码会在页面加载时触发警报,但警报是在点击事件中,所以我不知道原因。有什么想法吗?
<script>
$(document).ready(
function () {
var blah = document.getElementById('btnChangeScreenSize');
var blah2 = $('#btnChangeScreenSize');
$('#btnChangeScreenSize').click(alert(1));
}
);
</script>
谢谢,
答案 0 :(得分:1)
这样写:
$(document).ready(
function () {
var blah = document.getElementById('btnChangeScreenSize');
var blah2 = $('#btnChangeScreenSize');
$('#btnChangeScreenSize').click(function() { alert(1) });
}
);
问题是,当你写:$('#btnChangeScreenSize').click(alert(1))
时,函数alert()
被调用并返回undefined
。然后你将undefined
设置为回调函数,这是没有意义的
答案 1 :(得分:1)
您有以下代码:
$('#btnChangeScreenSize').click(alert(1));
尝试将alert(1)
设置为点击处理程序(请参阅the docs),但会立即评估alert(1)
。相反,您需要一个回调函数,如下所示:
$('#btnChangeScreenSize').click(
function () {
alert(1)
}
);