第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Jquery 方法不適用于動(dòng)態(tài)生成的元素

Jquery 方法不適用于動(dòng)態(tài)生成的元素

慕運(yùn)維8079593 2023-06-09 17:51:05
我正在嘗試創(chuàng)建價(jià)目表并驗(yàn)證其值。這是我的功能:(function($) {        $.fn.inputFilter = function(inputFilter) {            return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {                if (inputFilter(this.value)) {                    this.oldValue = this.value;                    this.oldSelectionStart = this.selectionStart;                    this.oldSelectionEnd = this.selectionEnd;                } else if (this.hasOwnProperty("oldValue")) {                    this.value = this.oldValue;                    this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);                } else {                    this.value = "";                }            });        };    }(jQuery));    // Para números enteros    $(".intTextBox").inputFilter(function(value) {        return /^-?\d*$/.test(value);    });<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><input class="intTextBox" id="intTextBox">這很好用。但是當(dāng)我動(dòng)態(tài)插入元素時(shí),該方法不起作用。(function($) {        $.fn.inputFilter = function(inputFilter) {            return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {                if (inputFilter(this.value)) {                    this.oldValue = this.value;                    this.oldSelectionStart = this.selectionStart;                    this.oldSelectionEnd = this.selectionEnd;                } else if (this.hasOwnProperty("oldValue")) {                    this.value = this.oldValue;                    this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);                } else {                    this.value = "";                }            });        };    }   我怎么能解決這個(gè)問題?看了一上午,感謝閱讀。(我有更多的驗(yàn)證方法,這是一個(gè)小總結(jié))。
查看完整描述

3 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

當(dāng)您引用一個(gè)元素時(shí),它不會(huì)一直尋找代碼運(yùn)行后添加的新元素。所以它不會(huì)定位動(dòng)態(tài)創(chuàng)建的輸入。


您需要?jiǎng)?chuàng)建元素并在該元素上使用 inputFilter。


$(".intTextBox").inputFilter(function(value) {

    return /^-?\d*$/.test(value);

});


$('#add').click(function(e){

  var newInput = $('<input name="intTextBox" class="intTextBox">');

  newInput.inputFilter(function(value) {

    return /^-?\d*$/.test(value);

  });

  $('#generate').append(newInput);

}

刪除代碼重復(fù)


function addFilter (elems) {

  elems.inputFilter(function(value) {

    return /^-?\d*$/.test(value);

  });

}


addFilter($(".intTextBox"));


$('#add').click(function(e){

  var newInput = $('<input name="intTextBox" class="intTextBox">');

  addFilter(newInput);

  $('#generate').append(newInput);

}


查看完整回答
反對(duì) 回復(fù) 2023-06-09
?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

下面的代碼將您的 ID 隨機(jī)化為新元素以避免沖突(不是完美的解決方案;只是該示例的變通方法),然后在新元素上應(yīng)用過濾器。


(function($) {

  $.fn.inputFilter = function(inputFilter) {

    return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {

      if (inputFilter(this.value)) {

        this.oldValue = this.value;

        this.oldSelectionStart = this.selectionStart;

        this.oldSelectionEnd = this.selectionEnd;

      } else if (this.hasOwnProperty("oldValue")) {

        this.value = this.oldValue;

        this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);

      } else {

        this.value = "";

      }

    });

  };

}(jQuery));


function getRandomInt(max) {

  return Math.floor(Math.random() * Math.floor(max));

}


// Para números enteros

$(".intTextBox").inputFilter(function(value) {

  return /^-?\d*$/.test(value);

});


$('#add').click(function(e) {

  let randomId = "intTextBox_" + getRandomInt(100000);

  $('#generate').append(`<input id="${randomId}" class="intTextBox">`);

  $(`#${randomId}`).inputFilter(function(value) {

    return /^-?\d*$/.test(value);

  });


});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button id="add">ADD</button>

<div id="generate">

  <input id="intTextBox" class="intTextBox">

</div>


查看完整回答
反對(duì) 回復(fù) 2023-06-09
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

使用已連接的驗(yàn)證方法追加 DOM 元素


    $('#add').click(function(e){

      $('#generate').append('<input id="intTextBox" 

        class="intTextBox">').inputFilter(function(value) {

         return /^-?\d*$/.test(value);

        });

      }

    );


查看完整回答
反對(duì) 回復(fù) 2023-06-09
  • 3 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)