페이지가로드 된 후 어떻게 이벤트를 트리거하고 바인딩 할 수 있습니까?jQuery 트리거 및 페이지로드시 이벤트에 바인드 하시겠습니까?
오전 데 문제는 한 곳에서 페이지로드에서 나는 이벤트 발생한다는 것입니다 :
//producer.js
pageLoaded(){
var e = jQuery.Event("eventA");
$("body").trigger(e);
...}
다른에
내가 그것을 바인딩 ://consumer.js
pageLoaded(){
$("body").bind("eventA", function(args){console.log("Got it!");});
... }
문제가 있다는 것입니다을 처음으로 이벤트가 발생하면 (페이지가로드 될 때) - 소비자는 그것을 볼 수 없습니다. 두 번째 시간 이벤트가 발생하지만 모든 것이 좋습니다!
소비자가 듣기 시작하기 전에 이벤트가 실제로 실행되기 때문에 이것이라고 생각합니다.
이벤트에 "트리거"및 "리스너"를 만들 때 따라야 할 우수 사례가 있습니까? 페이지를로드 할 때나 이후에 모두 작동해야합니까?
consumer.js
에producer.js
의존 할 수 있지만,이 문제를 해결 얻을 수있는 방법? 페이지로드시 이벤트가 "캐치"되어야합니다. 그러나 페이지로드시 트리거되도록해야합니다. 이것은 광기 다 !!! – drozzy그런 다음 consumer.js가 producer.js보다 먼저로드되었는지 확인하십시오. – ShankarSangoli
@drozzy - 제 대답이 의미가 있으면 감사합니다. – ShankarSangoli