Javascript jQuery模拟单击
我想在加载页面时触发一个函数。 但是,当我添加Javascript jQuery模拟单击,javascript,jquery,Javascript,Jquery,我想在加载页面时触发一个函数。 但是,当我添加$(“#按钮”)时。单击我的函数前面的,则无法识别getType函数。例如: $('#button').click(function getType(id) { //...some code }); 错误:未定义getType 我做错了什么 只是澄清一下,在这种情况下,我不能使用匿名函数。另外,我是否使用$(document).ready或$(window).bind(“load”,function()),对我来说都无关紧要,但使用它们我仍
$(“#按钮”)时。单击我的函数前面的
,则无法识别getType
函数。例如:
$('#button').click(function getType(id) {
//...some code
});
错误:未定义getType
我做错了什么
只是澄清一下,在这种情况下,我不能使用匿名函数。另外,我是否使用$(document).ready
或$(window).bind(“load”,function()
),对我来说都无关紧要,但使用它们我仍然会得到“getType未定义”错误
$('#button').click(function getType(id) {
//...some code
});
应该是:
$('#button').click(function() {
[...] code here
}
);
function(){}
是一个回调,当我单击某个元素时,代码必须执行该回调
如果具有getType
函数,则可以将其作为回调传递:
$('#button').click(getType);
如果要在页面加载时触发函数,可以执行以下操作:
$('#button').trigger('click');
或
您必须使您的函数匿名:
$('#button').click(function() {
//...some code
});
或传递函数本身:
function getType() {
//...some code
}
$('#button').click(getType);
如果只想触发单击,请调用。单击()
:
此外,您的id
参数将不是元素的id
。它将是单击事件对象。要获取元素的id
,您可以使用this
引用单击的元素:
$('#button').click(function() {
var id = this.id;
});
我建议您阅读一些JavaScript和jQuery教程(按顺序)。试试这个,id不能按您的方式传递:
$('#button').click(function() {
var id = this.id;
//...some code
});
您使用的是内联表示法,因此应该使用匿名函数(无名称函数) 您的代码应该是:
$('#button').click(function() {
// do your stuff here
}
);
旁边的如标题所示,您需要模拟一个
单击事件,对吗?如果是这样,您最好使用以下内容:
$('#button').on('click', function() {
alert($(this).text());
});
// somewhere when you want to simulate the click you call the trigger function
$('#button').trigger('click');
请参见。click()
方法需要回调函数。因此,您可以执行以下操作:
//Define your function somewhere else
function getType(id) {
//...some code
}
$('#button').click(function() {
getType($(this).attr('id')); //Execute it when its clicked.
});
在元素上使用
外部参数
类型:数组或纯对象
要传递给事件处理程序的其他参数
附加的好处是,您可以将数据传递给事件处理程序,而如果使用,则无法将数据分配给对象
$("#target").trigger('click');
如果您希望使用外部参数
:
$( "#foo" ).on( "custom", function( event, param1, param2 ) {
alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );
我认为单击的第一个参数是eventObject
的一个实例。因此,id永远是实例,而不是id
。@GabrielSantos:Yep,这是我在回答的最后写的。当你从一开始就使用id时,最后的解释令人困惑;)@GabrielSantos:是的,我同意。我把它拿走了。谢谢大家的帮助,我拿到了!与IMO类似,答案是$(“#示例”)[0]代码>此答案解决了标题中的问题。这个标题让谷歌认为这个页面能够回答我的问题,这要归功于@Abu Romaissae。
$("#target").trigger('click');
$( "#foo" ).on( "custom", function( event, param1, param2 ) {
alert( param1 + "\n" + param2 );
});
$( "#foo").trigger( "custom", [ "Custom", "Event" ] );