簡體   English   中英

jQuery觸發並綁定到頁面加載事件嗎?

[英]jQuery trigger and bind to event on page load?

頁面加載后如何觸發和綁定事件?

我遇到的問題是,在某個地方,頁面加載會觸發一個事件:

//producer.js
pageLoaded(){
   var e = jQuery.Event("eventA");
   $("body").trigger(e);
   ...}

在另一個我綁定到它:

//consumer.js
pageLoaded(){
   $("body").bind("eventA", function(args){console.log("Got it!");} );
   ... }

問題是第一次事件被觸發(加載頁面時)-使用者看不到它。 第二次事件被觸發,但是一切正常!

我猜這是因為事件實際上是在消費者開始收聽之前觸發的。

為事件創建“觸發器”和“偵聽器”時是否要遵循良好的做法-必須在頁面加載以及隨后的工作中起作用?

如果在觸發事件時沒有偵聽器,則不會發生任何事情,這就是為什么在第一次觸發時看不到任何內容的原因。

聽起來您需要控制document.ready()調用的順序..也許對此問題本文的 回答可能對您有所幫助

使用RequireJS之類的東西可以讓我先加載一個javascript文件,然后再加載另一個。

所以我可以使producer.js依賴於consumer.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM