jquery on(“change”vs on on(“input” - 试图统一IE上的行为与FF vs Chrome)

时间:2015-03-02 10:52:45

标签: jquery html5 google-chrome internet-explorer firefox

我尝试滑动HTML5范围滑块,并将div中的文本更新为滑块所需的值。我注意到IE和Firefox + Chrome对jquery' on("change" vs 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(函数的变体之前,是否必须编写单独的代码来检查我所使用的浏览器?

2 个答案:

答案 0 :(得分:2)

为什么不一次使用两个绑定?

$(document).on('input change', sliderSelector, function () {
    alert('TA-DA-DA-DAAA!');
});

答案 1 :(得分:1)

您可以绑定这两个事件。

$(element).on("input change", eventHandler);