我 有 一 个 div ( 按钮 ) , 当 按 下 它 删除 一 个 特定 文本 字段 的 字符 。 现在 我 试图 改变 代码 的 方式 , 删除 字符 的 最 后 一 个 焦点 文本 字段 。
这 是 只 删除 一 个 文本 字段 的 字符 的 代码 :
$(".delete").on("mousedown",function(evt) {
var nameInput = document.querySelector("#name")
var cursorPosition = nameInput.selectionStart;
$("#firstName").val(
function(index, value){
return value.substr(0,cursorPosition - 1) + value.substr(cursorPosition);
});
nameInput.selectionStart = cursorPosition - 1;
nameInput.selectionEnd = cursorPosition - 1;
return false;
});
中 的 每 一 个
这 就是 我 现在 所 拥有 的
$(".delete").on("mousedown",function(evt) {
var lastFocused;
$(".item").focusout( function(e) {
lastFocused = e.target;
});
var cursorPosition = lastFocused.selectionStart;
lastFocused.val(
function(index, value){
return value.substr(0,cursorPosition - 1) + value.substr(cursorPosition);
});
lastFocused.selectionStart = cursorPosition - 1;
lastFocused.selectionEnd = cursorPosition - 1;
return false;
});
格式
HTML :
<div class="delete key-btn">
<input id="firstName" name="firstName" type="text" class="item" required/>
<input id="firstName" name="firstName" type="text" class="item" required/>
格式
在 控制 台 中 , 我 收到 错误 :" 无法 读取 未 定义 " 的 属性 " selectionStart " 。 有人 能 告诉 我 如何 实现 此 操作 吗 ? 谢谢
3条答案
按热度按时间hyrbngr71#
这是可行的:
jtjikinw2#
你可以将目标返回给变量lastFocused,然后你的delete函数就可以工作了。我不知道你的代码的其余部分是什么样子的,但是这是我最好的猜测,你要找的是什么。这将消 debugging 误,你可以记录lastFocused。
bmp9r5qi3#
我 用 代码 解释 得 更 好 。
中 的 每 一 个
当 你 聚焦 在 一 个 项目 上 时 , 你 把 它 作为 一 个 jquery 引用 推入 数组 , 当 你 聚焦 出 它 时 , 你 把 它 移 走 。 最 后 一 个 元素 是 最 后 一 个 被 聚焦 的 。