簡體   English   中英

使用jQuery檢測HTML文本區域的更改並單擊功能

[英]Detect changes to HTML textarea using jQuery and click function

這可能不是最好的解決方案,但我不想在單擊按鈕時檢查textarea元素中的文本是否已更改。 顯然使用“ .on(” change keyup paste“,function()”可以立即檢查anny對textarea的更改。因此,將對textarea元素進行兩次檢查:

首先,在編輯文本區域時,其次,當我按下按鈕時

這個想法是在單擊按鈕時只對文本區域執行一次檢查。 有沒有更合適的事件處理函數呢?

腳本:

$('#btnClick').click(function () {    
$("#textarea").on("change keyup paste", function() {    
    var PreviousVal =  document.getElementById("textarea").innerHTML;
    var currentVal = $(this).val();

    if(currentVal == PreviousVal) {
        alert("No changes where made");       
    }
    else {      

        alert("textarea has been changed from " + '"' + PreviousVal + '"'                + " to " + '"' + currentVal + '"');
        }
})   


});

HTML:

<textarea id="textarea">Hejsan</textarea><br/>
<input id="btnClick" type="button" value="Submit" />

如果您只想在單擊按鈕時比較舊值和當前值,則可以執行以下操作:

var PreviousVal =  document.getElementById("textarea").value;
$('#btnClick').click(function () {    
    var currentVal = document.getElementById("textarea").value;

    if(currentVal == PreviousVal) {
        alert("No changes where made");       
    }
    else {      

        alert("textarea has been changed from " + '"' + PreviousVal + '"'                + " to " + '"' + currentVal + '"');
        }
    PreviousVal = currentVal;
});
  1. 單擊按鈕即可分配textarea處理程序。 那不是你想要的
  2. 您只需要檢查頁面加載時值是否已更改?

 $(function() { $('#btnClick').on("click",function() { var previousVal = $("#textarea").get(0).defaultValue, currentVal = $("#textarea").val(); if (currentVal == previousVal) { alert("No changes where made"); } else { alert('textarea has been changed from "' + previousVal + '" to "' + currentVal + '"'); } }) }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <textarea id="textarea">Hejsan</textarea><br/> <input id="btnClick" type="button" value="Submit" /> 

首次加載頁面時,必須在就緒功能中保存textarea的先前值。

var PreviousVal;
$(document).ready(function(){
     PreviousVal =  document.getElementById("textarea").innerHTML;
});

然后在按鈕上單擊以檢查具有此值的數據

$('#btnClick').click(function () {    
    var currentVal =  document.getElementById("textarea").innerHTML;

    if(currentVal == PreviousVal) {
        alert("No changes where made");       
    }
    else {      

        alert("textarea has been changed from " + '"' + PreviousVal + '"'                + " to " + '"' + currentVal + '"');
        }
});

暫無
暫無

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

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