簡體   English   中英

jquery.live() 帶有“就緒”事件

[英]jquery .live() with 'ready' event

我想對正文中所有新添加的 div(帶有某些類)做一些事情,但我意識到 .live() 方法不支持“就緒”事件類型。

例如,此代碼有效:

$('.new').live('click', function(){
    $(this).css("background", "black");
}

但用戶必須點擊 div,我想自動執行該操作。

我試過這個插件: http://startbigthinksmall.wordpress.com/2011/04/20/announcing-jquery-live-ready-1-0-release/但它沒有用(對現有的div進行了操作,但不是后來添加的)

你真的只有兩個選擇:

  1. 找到一個在創建 div 時觸發的適當事件,您可以加入該事件(聽起來您真的找不到合適的事件)
  2. 創建一個尋找新 div 的計時器事件,然后在它們上運行代碼(這可能會占用處理器資源,具體取決於您正在查看的 DOM 的 scope)。

示例 2.:

window.setInterval(function() { $('.new').css("background", "black"); } }, 100);

理想情況下,如果頁面很復雜,您可能希望使用比'.new'更快/更具體的選擇器,或者在緩存的 jQuery 引用上執行它,以引用關閉的祖先。

難道你不能只使用普通的 CSS 來完成這個嗎?

<style type="text/css">
div.new { background: #000; }
</style>

我想如果你想做任何其他類型的影響(淡化顏色,搖晃盒子等等),那是行不通的。 在這種情況下,我會問 - 什么事件為您的內容帶來了新的 div? 我可能會嘗試將更改 div 的事件附加到該事件上,或者使用.bind().trigger()創建一個自定義事件。 .

暫無
暫無

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

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