input文本框的oninput和onchange失效


1. 當input中value值被js修改后,此時input的oninput和onchange失效

解決:

<input type="text" />
<button>賦值</button>
<script src="js/jquery.min.js"></script>
<script>
    $(function(){
        // 按鈕點擊事件
        $("button").on('click', function(){
            $("input").val("賦值成功");
        });
            
        // input值改變事件
        $("input").on('change', function(){
            $("button").after("<p>change事件觸發</p>")
        });
    });
</script>

這里面的input值改變事件是沒有觸發的,想要讓change事件也觸發只需要加簡單的一行代碼就行了

// 按鈕點擊事件
$("button").on('click', function(){
    $("input").val("賦值成功");
    // 觸發change事件
    $("input").change();
});

2. 在使用kuCity插件實現僅有城市的選擇時,發現給input注冊change等事件無效,經上述啟發修改了一下一個地方。當用戶選擇好城市(城市名在dd中)后執行change事件,(如果$('input').change()放在input框點擊事件中,則在獲取城市錢便觸發了,為了獲得城市信息所以在用戶選擇城市之后)

  //kuCity.js插件

  //城市選擇 citySelect: function() { var self = this; $('.kucity_item dd').on('click', 'span', function(e) { self.target.val(($(e.target).text())); self.container.hide(); // ********************************************************** $("input").change(); }) },

  

//自己的js文件
$(".search").on('change', function(){ console.log($('.search').val()) var cityName = $('.search').val() });

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM