当有许多动态创建的文本框时,有没有办法在用户点击任何这些文本框时检测文本框的ID?
编辑:
$(document).ready(function() {
var textCount = 0;
var textfieldWrapper = $("#textfieldWrapper");
var x = textfieldWrapper.length;
var textfield = $("#namebutton");
$(textfield).click(function() {
textCount++;
$(textfieldWrapper).append('<div>' + '<div class="name" id="textfield_0' + textCount + '">' + '<input type="text" id="field_' + textCount + '" placeholder="dynamic box"/>');
x++;
return false;
});
});
答案 0 :(得分:4)
你可以这样做:
<input onclick="alert(this.id)" />
或者使用jQuery:
$(document).on('click', 'input', function(){
alert($(this).attr("id"));
});
答案 1 :(得分:0)
您可以通过将类应用于这些文本框并使用(THIS)(即当前对象)来轻松完成此操作。请检查以下代码:
$(document).on("click", ".classOfTextbox", function () {
var id = $(this).attr("id");
alert(id);
});
希望这会有所帮助:)
答案 2 :(得分:0)
这是 vanilla JavaScript
中的一种方式document.body.addEventListener('click', function (e) {
if (e.target instanceof HTMLTextAreaElement ||
((e.target instanceof HTMLInputElement) && (e.target.getAttribute('type') === "text"))
) {
console.log(e.target.getAttribute('id'));
}
});
答案 3 :(得分:0)
<a class = "click" id = "1">Item 1</a>
<a class = "click" id = "2">Item 2</a>
$(".click").click(function(){
pos = this.attr("id");
});
答案 4 :(得分:0)
$(#textBox).on(click, function() {
alert($(this).attr('id'););
});
如果您要浏览多个文本框:
$(.textboxes).each( function() {
$(this).on(click, function() {
alert($(this).attr('id'););
});
});
答案 5 :(得分:0)
尝试使用函数或使用jquery click事件
1)使用javascript:
<input type="text" id="data" onClick="reply_click(this.id)">
<script type="text/javascript">
function reply_click(clicked_id)
{
alert(clicked_id);
}
</script>
2)使用jquery:
<input type="text" id="data">
$(document).on('click','input[type="text"]',function(){
alert($(this).attr('id'));
});
答案 6 :(得分:0)
$('#textfieldWrapper').on('click', 'input', function () {
var id = this.id;
alert(id);
});