Javascript 以编程方式触发更改事件时传递事件处理程序的其他信息

Javascript 以编程方式触发更改事件时传递事件处理程序的其他信息,javascript,jquery,onchange,Javascript,Jquery,Onchange,正如您在上面看到的,我正在从代码触发一个更改事件。我想向事件处理程序传递一些附加信息。想知道这样做是否可行。您可以使用jQuery.trigger $('#idofElement').change(function(e, additionalData) { //event code } $('#idofElement').trigger('change', { someAdditionalData : 'value' }); $(选择器).trigger(“单击“,[“foo”,“bar

正如您在上面看到的,我正在从代码触发一个更改事件。我想向事件处理程序传递一些附加信息。想知道这样做是否可行。

您可以使用
jQuery.trigger

$('#idofElement').change(function(e, additionalData) {
  //event code
}

$('#idofElement').trigger('change', { someAdditionalData : 'value' });

$(选择器).trigger(“单击“,[“foo”,“bar]”)

您可以使用
jQuery.trigger


$(选择器).trigger(“单击“,[“foo”,“bar]”)

您可以通过使用Jquery触发器传递变量,然后打开事件处理程序来处理额外的变量来实现这一点。以下是一个例子:

$(“#foo”)。在(“单击”上,函数(事件、数据1、数据2){
console.log(data1);//记录“hello”
console.log(data2);//记录“再见”
});
$('input:button')。单击(函数(){
$(“#foo”).trigger(“单击”,“你好”,“再见”);
});

您可以通过使用Jquery触发器传递变量,然后打开事件处理程序来处理额外的变量来实现这一点。以下是一个例子:

$(“#foo”)。在(“单击”上,函数(事件、数据1、数据2){
console.log(data1);//记录“hello”
console.log(data2);//记录“再见”
});
$('input:button')。单击(函数(){
$(“#foo”).trigger(“单击”,“你好”,“再见”);
});

您可以使用data()方法存储数据,如下所示:

// say your selector and click handler looks something like this...

$("some selector").click({param1: "Hello", param2: "World"}, cool_function);

// in your function, just grab the event object and go crazy...
function cool_function(event){
    alert(event.data.param1);
    alert(event.data.param2);
}
然后您可以像这样访问数据对象:

$('#idofElement').trigger('change').data('someAdditionalData', value);
如果要删除对象数据,请执行以下操作

$('#idofElement').on('change', function(){
    if(data = $(this).data('someAdditionnalData')) {
       data...
    }
});

享受:)

您可以使用data()方法存储数据,如下所示:

// say your selector and click handler looks something like this...

$("some selector").click({param1: "Hello", param2: "World"}, cool_function);

// in your function, just grab the event object and go crazy...
function cool_function(event){
    alert(event.data.param1);
    alert(event.data.param2);
}
然后您可以像这样访问数据对象:

$('#idofElement').trigger('change').data('someAdditionalData', value);
如果要删除对象数据,请执行以下操作

$('#idofElement').on('change', function(){
    if(data = $(this).data('someAdditionnalData')) {
       data...
    }
});

享受:)

@johankarsson我应该RTfM@JohanKarlsson我应该有RTfM