jquery on("change" vs on("input" - 试图统一 IE vs FF vs Chrome 上的行为
jquery on("change" vs on("input" - trying to unify behaviour on IE vs FF vs Chrome
我正在尝试滑动 HTML5 范围滑块,并将 div 中的文本更新为滑块采用的任何值。我注意到 IE 和 Firefox+Chrome 对 jquery 的 on("change"
和 on("input"
的 HTML5 范围事件的解释不同
在 Linux 和 Windows 上,Firefox+Chrome 都等待 on("change"
的鼠标释放,并立即触发 on("input"
。
在 Windows 上,IE 会在 on("change"
上立即触发,并且不会对 on("input
执行任何操作(即它不起作用)
我已经在 FF36、Chrome40、IE11 上测试过。
在不同的浏览器上 this fiddle 试试这个,将 change
替换为 input
。
我的问题:有没有一种方法可以让所有浏览器在移动滑块时立即更新?在调用 .on(
函数的变体之前,我是否必须编写单独的代码来检查我使用的浏览器?
为什么不同时使用两个绑定?
$(document).on('input change', sliderSelector, function () {
alert('TA-DA-DA-DAAA!');
});
您可以同时绑定这两个事件。
$(element).on("input change", eventHandler);
我正在尝试滑动 HTML5 范围滑块,并将 div 中的文本更新为滑块采用的任何值。我注意到 IE 和 Firefox+Chrome 对 jquery 的 on("change"
和 on("input"
在 Linux 和 Windows 上,Firefox+Chrome 都等待 on("change"
的鼠标释放,并立即触发 on("input"
。
在 Windows 上,IE 会在 on("change"
上立即触发,并且不会对 on("input
执行任何操作(即它不起作用)
我已经在 FF36、Chrome40、IE11 上测试过。
在不同的浏览器上 this fiddle 试试这个,将 change
替换为 input
。
我的问题:有没有一种方法可以让所有浏览器在移动滑块时立即更新?在调用 .on(
函数的变体之前,我是否必须编写单独的代码来检查我使用的浏览器?
为什么不同时使用两个绑定?
$(document).on('input change', sliderSelector, function () {
alert('TA-DA-DA-DAAA!');
});
您可以同时绑定这两个事件。
$(element).on("input change", eventHandler);