当我在事件中调用函数时,我遇到了最奇怪的问题。我正在尝试使用$(window).resize()
调整窗口大小时运行一个函数,但它似乎会在DOM加载后立即触发该函数,然后再也不会。
我可能在这里错过了一些非常简单的东西,但我整天都在看它,我需要一些外界的帮助。
我在JSfiddle上创建了一个淡化版本,它使用$('a').click()
而不是$(window).resize()
执行相同的操作,因此测试起来更容易一些。随着同样的问题出现,我感觉我的功能有问题,但我看不到它。
答案 0 :(得分:1)
尝试:
$('a').click(function(){
alert('hello');
}, imageResizer());
答案 1 :(得分:0)
您正在运行该函数并将其输出作为参数发送到jQuery thingy:
$('a').click(alert('hello'), imageResizer());
相反,试试这个:
$('a').click(function() {alert('hello'); imageResizer(); });
这提供了一个anonyomous函数,它将在单击项目时运行,调用imageResizer(),而你拥有它的方式,它运行imageResizer()函数并将它的返回值放入onclick处理程序。它之后无法工作的原因是因为它会将imageResizer()函数的返回值视为它试图运行的代码。
答案 2 :(得分:0)
您正在触发事件而不是为其分配处理程序
$('a').click(alert('hello'), imageResizer());
应该是
$('a').click(function(event) {
event.preventDefault(); // I suppose you will want that ... it will avoid your window jumping to the top when you click due to the href="#"
alert('hello');
imageResizer();
});