簡體   English   中英

動態元素上的jQuery綁定事件無法進行焦點,按鍵,擊鍵,擊鍵

[英]jQuery bind event on dynamic element for focus, keypress, keydown, keyup didn't work

<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();
    }
}

上面的代碼可以正常工作,但是如果我將綁定事件從click更改為keydown,如下所示

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

那就沒用了 我正在使用jQuery 1.9.1版,並嘗試將.live用於1.8.3版,但仍然無法正常工作。

非常感謝。

為什么不只是最初選擇li?

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

具有contenteditable標志的標簽將捕獲並發出keydown事件,而不是其中的內容。 簡而言之,您的<li>不會發出keydown事件。

暫無
暫無

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

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