$('#idofElement').change(function(e, additionalData) {
//event code
}
$('#idofElement').trigger('change', { someAdditionalData : 'value' });
我正在從代碼中觸發更改事件,如上所示。我想傳遞一些額外的信息給事件處理程序。想知道這樣的事情是否可能。以編程方式觸發更改事件時傳遞事件處理程序的其他信息
$('#idofElement').change(function(e, additionalData) {
//event code
}
$('#idofElement').trigger('change', { someAdditionalData : 'value' });
我正在從代碼中觸發更改事件,如上所示。我想傳遞一些額外的信息給事件處理程序。想知道這樣的事情是否可能。以編程方式觸發更改事件時傳遞事件處理程序的其他信息
你可以通過傳遞一個帶有Jquery Trigger的變量來實現這一點,然後打開你的事件處理程序到額外的變量。這裏有一個例子:
$("#foo").on("click", function(event, data1, data2) {
console.log(data1); //logs "hello"
console.log(data2); //logs "goodbye"
});
$('input:button').click(function() {
$("#foo").trigger("click", ["hello", "goodbye"]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="foo" type="text" />
<input type="button" value="click me to trigger change event" />
// 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);
}
你可以用jQuery.trigger
$(選擇).trigger( 「點擊」,[ 「富」, 「酒吧」]);
可以存儲與數據data()方法類似:
$('#idofElement').trigger('change').data('someAdditionalData', value);
然後你就可以訪問數據對象是這樣的:
$('#idofElement').on('change', function(){
if(data = $(this).data('someAdditionnalData')) {
data...
}
});
如果你想刪除對象數據,請做
$('#idofElement').removeData('someAdditionnalData');
享受:)
http://api.jquery.com/trigger/ –
@JohanKarlsson我應該有RTFM – IsmailS