是否有可能覆盖html5 stepUp和stepDown行为?我不想创建新的按钮,我想使用输入提供的控件。我一直试图以这种方式覆盖它们:
document.getElementById("elemId").stepUp = function() { }
但它似乎不起作用。
最佳答案
我建议您不要改写,而是观看更改事件,然后执行您想做的所有事情。
话虽这么说,您可以通过两种方式覆盖该行为。假设以下html
<input id="num" type="number" value="0" step="1" min="0" max="100"/>
让我们参考一下数字输入:
// Access the spinner
var spinner = document.getElementById("num");
现在,如果要覆盖所有
stepUp()
函数,则可以使用HTMLInputElement
对象:// Override all spinner's setup functions
HTMLInputElement.prototype.stepUp = function(num){
console.log('All overridden: Stepping up '+num);
};
尽管您也只能覆盖该输入的
stepUp()
函数:// Override only that spinner's stepUp function
spinner.stepUp = function(num){
console.log('Stepping up '+num);
};
要查看实际操作的示例,请打开this jsFiddle。