大家好,我有文本框,我希望它们在聚焦时成为一个微调器,并在模糊时成为文本框 这是我的代码
$(".spinner").focus(function () {
$(this).spinner();
});
$(".spinner").blur(function () {
$(this).spinner("destroy");
});
演示 http://jsfiddle.net/ygyogba0/
但我得到的错误是"无法读取属性' replaceWith'未定义"
任何人都可以帮我这个吗?
提前致谢
答案 0 :(得分:0)
这对我和Chrome和IE11都有用。似乎spinner小部件在创建后没有设置焦点。如果你开始做部分回发,使用“开启”是一个很好的做法。但是,在Firefox中,即使有额外的调用也没有设置焦点。这是一个在论坛中详细讨论的问题。如果你需要FF,你将不得不处理它。
但是,如果用户从不点击微调器,则FF问题只是一个问题。我不确定这个解决方案是否已准备就绪。
$("body").on("focus", ".spinner", function () {
$(this).spinner({
create: function (event, ui) {
$(this).focus();
// Trying (and failing) to deal with FF
/*setTimeout(function () {
$(this).focus()
}, 10); */
}
});
});
$("body").on("blur", ".spinner", function () {
$(this).spinner("destroy");
});
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<input type="text" class="spinner" /><br>
<input type="text" class="spinner" /><br>
<input type="text" class="spinner" /><br>
<input type="text" class="spinner" /><br>