2011-11-16 52 views
1

我今天所用的是一個我繼承的腳本,並且無法刪除以暫時與其他內容一起使用至少。通常情況下可以,但是原始腳本的作者「打包」它使代碼遠不可讀。由於該腳本缺乏功能,我現在需要將其放在一邊,儘管我抗議它並不是所有可能的代碼基礎。所以我不想解決問題。這個時刻解決的概念是基於我無法改變的按鈕點擊。jQuery是否可以模仿選擇框的「onchange事件」,但是用於UL/OL

該按鈕的作用是打開一個文件對話框,用戶選擇一個文件,並在選擇時將其添加到無序列表(UL)中。在嘗試考慮黑客時,我提出了這個想法,如果就像「選擇」表單元素一樣,您可以執行onChange事件觸發器,以便用戶在那裏選擇某個事件。某事做某事。所以我想知道我是否可以實現類似的目標。從某種意義上來說,監聽DOM可以看到特定元素何時發生變化,以及是否添加了它來運行我想要運行的一個後期檢查。我不知道該如何看那一個。所以我想知道這裏有沒有人可能對我有一些見解。

+0

真的最簡單的事情就是用相當快的延時處理程序(100ms延遲)「輪詢」感興趣的元素。 – Pointy

+0

是否有某些原因讓你不想聽文件上傳輸入中的更改事件? – lsuarez

+0

其多文件上傳腳本。輸入的變化事件是有問題的UL/LI。在特定的plupload。 – chris

回答

3

嘗試使用$.doTimeout()爲「聽」到在</ul>變化和運行的函數,如果</li>被添加像這樣:

// The List // 
<ul class="theList"> 
    <li>Some Value</li> 
    <li>Some Value</li> 
    <li>Some Value</li> 
</ul>  

// Set Initial </li> Count // 
var li = $('.theList li').length; 

$('.theList').doTimeout('check', 250, function(){ 
    if ($('.theList li').length > li) 
    { 
     // ...Run Function Here... // 

     // Update Total </li> Elements // 
     li = $('.theList li').length; 
    } 

    // Return True to Continue Polling // 
    return true; 
}); 

我希望這有助於!