Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery模拟单击_Javascript_Jquery - Fatal编程技术网

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" ] );