我有一个使用mousedown绑定到div的事件处理程序。当我点击其他div时,我也会触发这个处理程序。
//The original binding
$('#somediv').on('mousedown', { key: 'value' }, handlers.downHandler);
//This is what I'm doing to trigger the above handler
$('#someotherdiv').on('mousedown', function(e){
$(#somediv').triggerHandler('mousedown', { secondkey: 'secondvalue' });
});
downHandler
看起来像这样:
function downHandler(e){
console.log(e.data.key); //Prints value
if(typeof e.data.secondkey !== 'undefined')
console.log(e.data.secondkey)
else
console.log('Undefined');
}
现在,在我的处理程序中,e.data
只有原始绑定的键值,而不是触发器的第二个键/秒值。无论如何要解决这个问题?
答案 0 :(得分:0)
应该是
$('#somediv').triggerHandler('mousedown', { 'secondkey': secondvalue});
答案 1 :(得分:0)
extrcparameter参数作为附加参数传递给事件处理程序,而不是作为数据对象
尝试
//The original binding
$('#somediv').on('mousedown', {
key: 'value'
}, function (e, extra1) {
console.log('data', e.data)
console.log('extra1', extra1)
});
//This is what I'm doing to trigger the above handler
$('#someotherdiv').on('mousedown', function (e) {
$('#somediv').triggerHandler('mousedown', {
secondkey: 'secondvalue'
});
});
演示:Fiddle