簡體   English   中英

jQuery首先:函數運行一次后,選擇器不起作用

[英]jQuery first: selector not working after function run once

按下鍵功能第一次運行時,它會執行我期望的操作,並將第一個類更改為addBack。 此后的每次按鍵均無效。 1次按鍵后,下面顯示的html是。

的HTML:

 <h1 id="id1">
    <span class="addBack">H</span>
    <span class="noBack">E</span>
    <span class="noBack">L</span>
    <span class="noBack">L</span>
    <span class="noBack">O</span>
 </h1> 

jQuery的:

    inputBox.keydown(function() {
    $("span.noBack:first").removeClass("noBack").addClass("addBack");
    });

原始答案

似乎為我工作就好了:

 $('#inputBox').keydown(function() { $("span.noBack:first").removeClass("noBack").addClass("addBack"); }); 
 .addBack { color: green; } .noBack {color: red;} 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <h1 id="id1"> <span class="addBack">H</span> <span class="noBack">E</span> <span class="noBack">L</span> <span class="noBack">L</span> <span class="noBack">O</span> </h1> <input id="inputBox" type="text" /> 

除了添加課程外,還有其他變化嗎? 就像更改輸入(事件)或重新創建dom元素,使事件丟失一樣?

編輯后的答案-似乎確實發生了更多導致問題的原因。

原始小提琴(來自問題下方的評論): https : //jsfiddle.net/HYUTS/y0jd2zxr/5/

固定的提琴: https : //jsfiddle.net/y0jd2zxr/7/

這行代碼是在每次按鍵事件后重置“ id1”的內容: $('#id1').html(emptyArray);

如果刪除它,它將起作用。

暫無
暫無

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

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