【Javascript】jQuery change事件和window.history.pushstate的浏览器兼容问题
一、jQuery change事件在IE8下不完全生效
症状:当文本框有输入历史时,选择输入历史的值,不会触发绑定的事件
处理方法:改用focus和blur来模拟change事件
// 以下的compute方法为文本框值发生变化的处理函数 var bindChangeEvent = function(id) { $(id).focus(function(){ $(this).attr("data-origin", $(this).val()); }).blur(function(){ var oldVal=($(this).attr("data-origin")); var newVal=($(this).val()); if (oldVal!=newVal) { compute(); } }).bind('keyup', compute); };
二、window.history.pushstate在IE8、IE9中不支持
使用History.js插件模拟https://github.com/balupton/History.js/
本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自枫芸志,原文地址《【Javascript】jQuery change事件和window.history.pushstate的浏览器兼容问题》
复制或转载请以超链接形式注明转自枫芸志,原文地址《【Javascript】jQuery change事件和window.history.pushstate的浏览器兼容问题》
标签: Javascript
还没有人抢沙发呢~