input 使用js赋值而非手动输入input,并执行input事件对应函数
2018-01-13 00:00
471 查看
摘要: 数据的双向绑定原理,使用封装属性访问器实现这一功能
背景:在开发过程中需要用到layui的下拉列表,且需要在隐藏输入框的时候保持输入搜索功能,因此需要使用js赋值给input并调用input事件对应的函数
经试验,由于作用域的不同,在layui源码中定义监听input的input,change,propertychange,blur事件,在comment.js中激发该input的这些事件并不会触发执行对应的函数,因此转而研究数据的双向绑定原理,使用封装属性访问器实现这一功能
当执行input.prop("jsinput","aaa")时,会执行mmm函数,输出aaa
背景:在开发过程中需要用到layui的下拉列表,且需要在隐藏输入框的时候保持输入搜索功能,因此需要使用js赋值给input并调用input事件对应的函数
经试验,由于作用域的不同,在layui源码中定义监听input的input,change,propertychange,blur事件,在comment.js中激发该input的这些事件并不会触发执行对应的函数,因此转而研究数据的双向绑定原理,使用封装属性访问器实现这一功能
var jsinput = undefined; Object.defineProperty(input[0], 'jsinput', { get: function() { return input[0].value; }, set: function(value) { input[0].value=jsnput = value; var mmm=function(v){ console.log(v); } mmm(value); } });
当执行input.prop("jsinput","aaa")时,会执行mmm函数,输出aaa
相关文章推荐
- 牛腩购物 8 整合用户留言 动软生成器 ,.NET在后置代码中输入JS提示语句(背景不会变白),repeater 循环的时候事件判断,repeater 隔行 奇数行,item列,隐藏区块 Panel 的使用,前台绑定代码的时候使用函数
- js:window.onload事件 让一个js事件执行多个函数
- 有些控件执行事件时,要在js函数之后加上return false,用来js函数执行后禁止提交表单
- C# winForm中直接使用网站JS函数的快捷方法,可执行多种JS函数
- window.addEventListener来解决让一个js事件执行多个函数
- 使用js正则控制input标签输入的值
- js bind 函数 使用闭包保存执行上下文
- 在html链接里执行js和使用标签事件执行的不同
- js 事件绑定函数与this的使用
- onchange,onpropertychange,oninput键盘输入和js赋值时区别,以及输入密码时显示的是星号
- window.addEventListener来解决让一个js事件执行多个函数
- js:window.onload事件 让一个js事件执行多个函数
- Js bind 函数 使用闭包保存执行上下文
- 使用js正则控制input标签只允许输入的值
- window.addEventListener来解决让一个js事件执行多个函数
- 回车键触发事件的js代码、input输入框值改变事件、js数组
- js使用函数绑定技术改变事件处理程序的作用域
- 使用js正则控制input标签只允许输入的值
- js bind 函数 使用闭包保存执行上下文
- 用js函数处理事件时,有时候可能因为页面部分组件不需要显示,但仍需要执行js,会有报错,但是不想暴露页面,是业务正常进行。。。。