2013-11-09 52 views
0
<div id="t1" contenteditable="true" style="width: 400px; height: 200px;"> 
    <ul> 
     <li style="list-style-type: none;">Apple</li> 
    </ul> 
</div> <span id="dd"></span> 

<script> 
$(function() { 
    event.returnValue = false; 
    $('#t1>ul').on("click", 'li', function() { 
     utility.test(this); 
    }); 
}); 

var utility = { 
    test: function (elem) { 
     var $this = $(elem); 
     $('#dd').html($this.html()); 
     if (event.preventDefault) event.preventDefault(); 
    } 
} 

jQuery的綁定事件KEYUP沒有工作

上面的代碼是做工精細,但如果我從點擊更改綁定事件的keydown如下

$('#t1>ul').on("keydown", 'li', function() { 

然後它沒有工作。 我正在使用jQuery版本1.9.1,並嘗試使用版本1.8.3的.live,但仍然無法正常工作。

非常感謝。

回答

0

contenteditable標誌標籤將捕獲併發射​​事件,在它裏面沒有內容。簡而言之,您的<li>未發出​​事件。

+0

我需要國旗編輯我的內容,這種情況下是否有解決方案? – Roy

+0

事件發生後你打算做什麼?根據手中的代碼,看起來您可能正在考慮測試更改的有效性?如果是這樣,你可以監視'keydown'事件的'$(「#t1」)',然後檢查它的孩子,但這一切主要取決於你在'keydown'事件之後完成的事情。 –

+0

我想要的是在一條線/新線之前縮進並放上服裝符號(**這是中文單詞一,二,三等**)。就像列表自動編號一樣。所以我需要檢查並重新分配號碼,如果用戶刪除某行。 – Roy

0

爲什麼不只是最初選擇li?

$('#t1 li').on("keydown", function() { 
    alert('You are typing'); 
    utility.test(this); 
}); 
+0

我試過了,但它無法綁定到新的創建元素上。謝謝你的回覆。 – Roy