簡體   English   中英

Javascript:用於對文本區域進行任何更改的函數調用的最佳事件?

[英]Javascript: Best event to use to call function for any change in text area?

我希望在我的text area本區域內發生任何更改時都調用一個function ,例如,鍵入,刪除,剪切,粘貼等字符。

目前,我正在使用:

onkeyup || onmousemove = function();

這似乎只是在調用onmousemove ,在對textarea進行任何更改時,可以使用什么來調用函數。

我創建這個JS作為string它作為一個參數添加到創建使用text_area的codeigniter描述這里的form_input節

例如:

$js= 'onkeyup || onmousemove = "function()"';

echo text_area('name', " ", $js);

有沒有辦法到多個HTML屬性分配結合起來,你必須單獨做他們。 嘗試:

text_input('name', ' ', 'onkeyup="function()" onmousemove="function()"');

嘗試這個 :

$('#element').on('keyup keypress blur change', function() {
    ...
});

只需給textarea一個idmyId並將其綁定事件以觸發handler

var element = document.getElementById("myId");
var myEvents = "oninput onchange onkeyup onpaste".split(" ");
var handler = function (e) {

};

for (var i=0, len = myEvents.length; i < len; i++) {
    element.addEventListener(myEvents[i], handler, false);
}

試試下面的東西

<textarea id='textarea1'>data</textarea>

// ....................

$("textarea").bind('input propertychange', function(){
  alert($(this).val());
});

注意:使用jQuery插件

DEMO

如果要防止同時觸發,請使用以下代碼

<textarea id="textarea"></textarea>

// .......

var text = "";
$("#textarea").on("change keyup paste", function() {
    var Val = $(this).val();
    if(Val == text) {
        return; //prevent multiple simultaneous triggers
    }

    text = Val;

    alert("changed!");
});

DEMO2

暫無
暫無

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

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