Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
Jquery-使用trigger()函数发送参数,并使用click函数接收这些参数_Jquery - Fatal编程技术网

Jquery-使用trigger()函数发送参数,并使用click函数接收这些参数

Jquery-使用trigger()函数发送参数,并使用click函数接收这些参数,jquery,Jquery,我目前正在使用Jquery 1.4.3。我知道有更新的版本,但为了与现有软件兼容,我们尚未更新库 我正在尝试使用trigger()函数获取一些数据。触发器功能具有以下参数: .trigger( eventType [, extraParameters ] ) 我想从.click()函数中获取这些参数,该函数表示: .click( handler(eventObject) ) 我不知道如何得到这些,或者如果我可以使用触发器启动一个事件和一些参数,并使用点击监听器,我可以得到这些。有人知道我是否

我目前正在使用Jquery 1.4.3。我知道有更新的版本,但为了与现有软件兼容,我们尚未更新库

我正在尝试使用trigger()函数获取一些数据。触发器功能具有以下参数:

.trigger( eventType [, extraParameters ] )
我想从.click()函数中获取这些参数,该函数表示:

.click( handler(eventObject) )
我不知道如何得到这些,或者如果我可以使用触发器启动一个事件和一些参数,并使用点击监听器,我可以得到这些。有人知道我是否可以使用这种组合来发送事件和检索参数吗

我尝试的方式是这样的:

$("#id").trigger('click', ObjectToPass);
$("#id").click(function(event, data) {
     // data contains "ObjectToPass"
     ...
})
侦听器的定义如下:

$("#id").click(function(event){...})

我缺少什么?

查找@greut注释或更多解决方案:

var clickEvent = new $.Event('click');
clickEvent.YourParameter = YourParameterValue;
$("#id").trigger(clickEvent);
并在处理程序中获取此参数:

function(event) { alert(event.YourParameter); }

查找@greut注释或更多解决方案:

var clickEvent = new $.Event('click');
clickEvent.YourParameter = YourParameterValue;
$("#id").trigger(clickEvent);
并在处理程序中获取此参数:

function(event) { alert(event.YourParameter); }
如果你打电话:

$("#id").trigger('click', ObjectToPass);
然后将
ObjectToPass
发送到事件处理程序:

参数数组也可以传递给
.trigger()
调用,这些参数也将传递给事件对象后面的处理程序

因此,您可以如下方式检索数据:

$("#id").trigger('click', ObjectToPass);
$("#id").click(function(event, data) {
     // data contains "ObjectToPass"
     ...
})

注意:jQuery文档似乎不一致。虽然上面引用的文本只涉及数组,但函数规范中说“外部参数”: 类型:
数组
普通对象

传递对象在jQuery的最新版本中似乎可以正常工作,但在1.4.3中可能不起作用。在早期版本中,如果调用以下命令,则可能需要编写
.trigger(e[ObjectToPass])

$("#id").trigger('click', ObjectToPass);
然后将
ObjectToPass
发送到事件处理程序:

参数数组也可以传递给
.trigger()
调用,这些参数也将传递给事件对象后面的处理程序

因此,您可以如下方式检索数据:

$("#id").trigger('click', ObjectToPass);
$("#id").click(function(event, data) {
     // data contains "ObjectToPass"
     ...
})

注意:jQuery文档似乎不一致。虽然上面引用的文本只涉及数组,但函数规范中说“外部参数”: 类型:
数组
普通对象


传递对象在jQuery的最新版本中似乎可以正常工作,但在1.4.3中可能不起作用。在早期版本中,您可能需要编写
.trigger(e,[ObjectToPass])

event.data.yourParamName您正在查找@greut no,
event.data
是用于在事件绑定时提供的数据。这是什么?在事件绑定时提供的是什么意思?@kitimenpolku您可以在绑定单击处理程序时添加数据(即
。单击(处理程序,数据)
,然后将其作为
事件.数据
。它与使用
.trigger()发送的任何数据分开)
.event.data.YourParamName您正在查找@greut no,
event.data
用于在事件绑定时提供的数据。这是什么?在事件绑定时提供的数据是什么意思?@kitimenpolku您可以在绑定单击处理程序时添加数据(即
。单击(处理程序,数据)
然后作为
事件.data传递。它与使用
.trigger()
发送的任何数据是分开的。下一票是什么?!根据文档,这是正确的(也经过测试!)请输入文档链接?刚刚发现在jquery 1.9+中触发复选框输入上的单击事件时这不起作用:下一票是什么?!这是正确的,请按照文档(也经过测试!)文档链接?刚刚发现在jquery 1.9+中触发复选框输入上的单击事件时这不起作用: