도장을 사용하고 있습니다. 나는 이런 식으로 뭔가를 가지고 :클릭 핸들러를 프로그래밍 방식으로 실행
<a id="fooBar" onclick="foo();bar();">Foo then Bar</a>
내가 다른 버튼에서 fooBar
의 클릭 핸들러를 트리거합니다. 다음과 같이 입력하십시오 :
<a onclick="dojo.query('#fooBar')[0].click()">Do FooBar</a>
그럴 수 있습니까?
도장을 사용하고 있습니다. 나는 이런 식으로 뭔가를 가지고 :클릭 핸들러를 프로그래밍 방식으로 실행
<a id="fooBar" onclick="foo();bar();">Foo then Bar</a>
내가 다른 버튼에서 fooBar
의 클릭 핸들러를 트리거합니다. 다음과 같이 입력하십시오 :
<a onclick="dojo.query('#fooBar')[0].click()">Do FooBar</a>
그럴 수 있습니까?
dojo.byId('fooBar').onclick();
또는
dojo.query('#fooBar')[0].onclick();
.
필자는 전에 Dojo를 사용하지 않았지만 인라인 이벤트보다 더 잘할 수 있다고 말할 수 있습니다. :). 또한, Dojo는 인라인으로 추가되었으므로 Dojo에서 관리하지 않습니다. 여기서 onclick
메서드는 요소의 onclick
속성에 첨부 된 함수를 트리거하기위한 기본 DOM 메서드입니다.
dojo.byId
document.getElementById
에 대한 바로 가기, 그리고 솔직히 당신은 쉽게 여기 도장없이 수행 할 수 있습니다
document.getElementById('fooBar').onclick();
dojo.query('#fooBar')[0].onclick();123456789
dojo.byId('fooBar').onclick();123456789
document.getElementById("fooBar").onclick();
이 문자 절감의 비교 (9, 14)와 three methods입니다
not using inline click handlers에 대한 몇 가지 좋은 이유를 확인하십시오.
dojo.byId는 form/id/name 사고를 다루는 일에 약간의 시간이 걸리지 만 아주 별칭이 아닙니다. 이() "클릭", dojo.trigger ('는 foobar') 기본 및 사용자 정의 DOM 이벤트를 트리거 내 미니 프로젝트의 기능을하지만, 심지어 그냥 클릭 기능을 호출하는 것보다 더 비싸다. 이상적으로는 attachEvent/addEventListener (dojo.connect)를 통해 명명 된/namespaced 클릭 함수를 노드에 바인딩하고 dom을 전혀 건드리지 않고 직접 해당 함수를 호출하는 것이 이상적입니다. Dojo에서 우리는 그 개념을 기반으로 한 패턴을 위해 dojo.publish와 dojo.subscribe를 가지고있다. – dante
'Cam O do that? '당신은 왜 시도하지 않습니까? – jigfox
내가 예상했던대로'dojo.query (" node>") [0] .click은' –
sprugman
'eval (document.getElementById ('fooBar'). getAttribute ('onclick')) 함수가 아니기 때문에, ; '네 일할 것인가? 내가 생각하기에 더러워졌지만 ... – MooGoo