이벤트를 트리거 할 때 어떻게 이벤트 처리기에 인수를 전달할 수 있습니까?
스크립트 #에서는 다음과 같은 내용이 있습니다.jQuery.Select("#someId").Trigger("item-added", new object[]{"ball"});
다음 자바 스크립트로 컴파일됩니다.
$('#someId').trigger('item-added', [ 'ball' ]);
위의 코드는 정상적으로 작동합니다. 문제는 인수 배열을받을 수있는 이벤트 처리기를 선언 할 때 발생합니다.
내 처리기가 인수 배열을 받기 위해서는 다음과 같은 서명이 있어야합니다 :
public void OnItemAdded(jQueryEvent jqe, Object[] args)
그러나 사용할 수있는 유일한 형식은 다음과 같습니다.
public delegate void jQueryEventHandler(jQueryEvent e)
, 핸들러가 호출 될 때 args는 찾을 수 없습니다.
jQuery API 문서 (http://api.jquery.com/trigger)에서 이벤트 처리기에 인수를 전달하는 다른 방법에 대해 읽었으며 스크립트 #에서 가능하지는 않습니다.
는 클로저를 사용하는 것을 고려 - - "최상의"대답은 아니지만 작동해야합니다. (나는 단지 스크립트 #가 클로저를 생성하는 방법을 알고 있기를 바랄 수있다 ;-) –
'Script #'가이 기능을 구현해야한다고 불평한다. 당신은 원숭이 패치'trigger'와'bind'를 시도 할 수 있습니다. 그러나'Script #'에서 어떻게 할 것인지 신이 알고 있습니다. – Raynos
js를 배울 수있는 기회가 있다면 평범한 JavaScript 개발이 더 바람직합니다. 마감일. – Raynos