我想在页面加载时触发一个函数。There are many ways to do this.但是,当我在函数前面添加$('#button').click
时,getType
函数无法识别。例如:
$('#button').click(function getType(id) {
//...some code
});
错误:未定义getType
我做错了什么?
只是为了澄清,在这种情况下,我不能使用匿名函数。此外,使用$(document).ready
或$(window).bind("load", function()
对我来说并不重要,但使用它们时,我仍然会收到“getType is not defined”错误。
发布于 2013-03-10 05:48:45
你要么必须让你的函数匿名:
$('#button').click(function() {
//...some code
});
或者传递函数本身:
function getType() {
//...some code
}
$('#button').click(getType);
如果您只想触发单击,则调用.click()
$('#button').click();
此外,您的id
参数不会是元素的id
。它将是click事件对象。要获取元素的id
,可以使用this
引用被单击的元素
$('#button').click(function() {
var id = this.id;
});
我建议您阅读一些JavaScript和jQuery教程(按此顺序)。
发布于 2013-03-10 05:49:18
您正在使用内联表示法,因此,您应该使用匿名函数(无名称函数)
你的代码应该是:
$('#button').click(function() {
// do your stuff here
}
);
除了之外,正如标题所说,您需要模拟一个click
事件,对吧?如果是这样的话,你最好使用类似这样的东西:
$('#button').on('click', function() {
alert($(this).text());
});
// somewhere when you want to simulate the click you call the trigger function
$('#button').trigger('click');
发布于 2013-03-10 05:47:49
$('#button').click(function getType(id) {
//...some code
});
应该是:
$('#button').click(function() {
[...] code here
}
);
function() { }
是一个回调函数,当我单击某个元素时,它会执行代码必须执行的操作。
如果您有getType
函数,则可以将其作为回调传递:
$('#button').click(getType);
如果你想在页面加载时触发一个函数,你可以这样做:
$('#button').trigger('click');
或
function getType() {
[...] code here
}
getType();
https://stackoverflow.com/questions/15316272
复制相似问题