2014-01-21 3 views
0

mousedown을 사용하여 div에 바인딩 된 이벤트 처리기가 있습니다. 다른 div를 클릭하면이 핸들러도 트리거됩니다.TriggerHandler가 매개 변수를 사용하지 않습니다.

//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

'$ (# somediv) '에서'secondvalue'의 값은 무엇입니까? triggerHandler ('mousedown ', { secondkey : 'secondvalue'}));'? 그 값을 어디에서 얻고 있습니까? –

+0

샘플 키/값으로 테스트하고 있습니다. 방아쇠에서 보내는 데이터가 없지만 원래 호출에서 보낸 데이터입니다. –

답변

0

데이터가 시도

반대하지로, 이벤트 핸들러 등의 추가 매개 변수를 전달해야

//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

+0

너는 남자 야! :) –

+0

답변을 수락 할 수 있도록 시간 제한을 기다리고 있습니다! –

0

IT는 extrcparameter의 인수가

$('#somediv').triggerHandler('mousedown', { 'secondkey': secondvalue}); 
+0

나는 그것이 필요하다고 생각하지 않는다! –

관련 문제