嗨朋友我在我的表单中有多个文本框,我没有在点击取消选择任何代码,事情是有些Chrome如何满足我的需要(当我再次点击时Chrome中的同样选中的文本框光标放在我再次点击的位置)但是当移动到其他浏览器时它没有发生(在 IE和FireFox中能够选择并且无法取消选择)。任何经历过这个的人,建议我做一些取消选择的代码。
Plz帮我解决这个问题,
以下是我的代码和 JSFiddle
HTML
<input Value="sdfsdfsdf">
<input Value="8545555">
<input Value="Billa">
JQ
$(document).on("click", "input:text", null, function (ev) {
alert("hi");
$(this).select();
return this;
});
提前致谢...
答案 0 :(得分:0)
关闭on click
活动尝试使用on focus
:
$(document).on("focus", "input:text", null, function (ev) {
$(this).select();
});
答案 1 :(得分:0)
试试这个 -
var selected = false;
$(document).on("click", "input:text", null, function (ev) {
if (!selected) {
$(this).select();
selected = true;
} else {
selected = false;
this.selectionStart = this.selectionEnd;//clearing the selection
}
return this;
});
如果您想在选择后光标位置保持不变取消选择
$("input:text").data("selectionStart", 0);
$("input:text").data("selected", false);
$(document).on("select", "input:text", null, function (ev) {
if (this.selectionStart === this.selectionEnd) {
$(this).data("selectionStart", this.selectionStart);
}
});
$(document).on("click", "input:text", null, function (ev) {
if ($(this).data("selected")==false) {
$(this).select();
$(this).data("selected", true);
} else {
this.selectionEnd = this.selectionStart = $(this).data("selectionStart");
$(this).data("selected", false);
}
return this;
});