我有一堆<textarea>
我页面上的元素都具有相同的“名称”属性。我正在 try catch 当前焦点的文本区域的文本:
$('body').on('click', '[name=btnAddQuestion]', function () {
questionText = $("[name=stem]").val();
console.log('questionText: ' + questionText);
});
但我只能让它捕获第一个 <textarea>
的文本在列表中。有没有一种方法可以做到这一点,而不必为每个文本框提供唯一的 ID?
谢谢!
这是一个jsfiddle:
最佳答案
尝试使用:focus选择器。
$("[name=stem]:focus").val();
您实际上可以简单地执行以下操作:
$(document.activeElement).val();
编辑:实际上这不起作用,因为一旦单击按钮,文本区域就会失去焦点。我的答案写得太快了。
但是,您可以做的是跟踪最后一个获得焦点的 textarea
并在点击处理程序中使用它。
var lastFocusedTextArea = null;
$('textarea[name=stem]').focus(function (e) {
lastFocusedTextArea = e.currentTarget;
});
关于javascript - 使用 jQuery 捕获文本区域的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19575432/