動態監控input的值的變化 賦值value觸發
/**動態監控input的值的變化 賦值value觸發
* [changeValueListener 監聽 js 修改 input 和 textarea 的 value。]
* @param {[HTMLElement]} element [具有 value 屬性的 html 元素,如 input 和 textarea。]
* @param {Function} callback [回撥,this 為 element,引數為當前值。]
* @return {[HTMLElement]} [element]
*/
function changeValueListener(id, callback) {
var element = document.getElementById(id);
if (!Array.isArray(element.callbacks)) {
element.callbacks = [];
var valueDes = Object.getOwnPropertyDescriptor(element.constructor.prototype, "value");
Object.defineProperty(element, 'value', {
set: function(v) {
// console.log('set', v, this, arguments);
element.callbacks.forEach(function(callback) {
if(!v)return false;//賦值空不返回 文字清空X 會觸發這個事件
if(v.indexOf('@')>-1) {
v=v.substr(1,v.length);
return false;
}
callback.call(this, v);
});
valueDes.set.apply(this, arguments);
},
get: function() {
//console.log('get', this, arguments);
return valueDes.get.apply(this, arguments);
}
});
}
element.callbacks.push(callback);
// return element;
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31486267/viewspace-2739986/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 動態監聽輸入框值的變化
- radio值變化時觸發的jqueryjQuery
- Vue.js - 陣列和物件的賦值動態變化 & 克隆Vue.js陣列物件賦值
- selenium 如何清除 input 框中的 value 值?
- 實時監聽input輸入框value的變化:
- jquery獲取同一name的input的value值jQuery
- 變數的賦值 指標間接賦值變數賦值指標
- php之普通變數賦值、物件賦值、引用賦值的區別PHP變數賦值物件
- vue:動態給img賦值Vue賦值
- 變數的解構賦值變數賦值
- Vue input文字框v-model與ref.value不能同時使用賦值,如何實現操作節點方式賦值?Vue賦值
- uniapp動態賦值頭部<title>APP賦值
- 圖表外掛Highcharts的動態化賦值,實現圖表資料的動態化設定顯示賦值
- 常被新手忽略的值賦值和引用賦值(偏redux向)賦值Redux
- [前臺]---js獲取input標籤中name相同的各個value值JS
- vue 變數賦值同時改變的問題Vue變數賦值
- go語言變數的宣告與賦值Go變數賦值
- JS中的變數賦值深入理解JS變數賦值
- 自己對Java中if變數賦值的理解Java變數賦值
- ES6:變數的結構賦值變數賦值
- echarts動態賦值結合dataZoom滑動資料Echarts賦值OOM
- shell變數命名與賦值變數賦值
- shell 變數賦值問題變數賦值
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- ES6 -- 變數的解構賦值的用途變數賦值
- Go Quiz: 從Go面試題看變數的零值和初始化賦值的注意事項GoUI面試題變數賦值
- ES6 - 變數的解構賦值解析變數賦值
- 淺談Python變數賦值的三種方法!Python變數賦值
- ECMAScript 6入門 - 變數的解構賦值變數賦值
- ES6之變數的解構賦值變數賦值
- Javascript 解構賦值,將屬性/值從物件/陣列中取出,賦值給其他變數JavaScript賦值物件陣列變數
- 物件屬性值賦給變數物件變數
- 關於變數與‘=’賦值的情況出錯變數賦值
- 深入ES6 三 變數的解構賦值變數賦值
- 【layui】 laydate動態改變日期最小值UI
- python的賦值傳遞Python賦值
- 直播商城原始碼,Android實現監聽Settings值變化的功能原始碼Android
- 成品直播原始碼,Android實現監聽Settings值變化的功能原始碼Android