Javascript 如何在文本框的按键事件中获取文本框的id
我的页面中有一个文本框:Javascript 如何在文本框的按键事件中获取文本框的id,javascript,asp.net,onkeydown,onkeyup,Javascript,Asp.net,Onkeydown,Onkeyup,我的页面中有一个文本框: <td> <input type="text" id="Approvers1" size="11" onkeydown="AddUsersKeyDown(event)" style="width: 470px;" /> </td> 现在,如果我在文本框中按ctrl k,它必须调用另一个名为AddUsers input parameter的javascript函数-。。其中输入参数应该是文本框的id 如何做到这一点。。我需要textb
<td>
<input type="text" id="Approvers1" size="11" onkeydown="AddUsersKeyDown(event)" style="width: 470px;" />
</td>
现在,如果我在文本框中按ctrl k,它必须调用另一个名为AddUsers input parameter的javascript函数-。。其中输入参数应该是文本框的id
如何做到这一点。。我需要textbox的id,或者至少需要DOM对象,以便从DOM对象访问textbox的id
请帮助我实现这两件事之一。使用this获取DOM元素,或使用this.id获取元素的id
<td>
<input type="text" id="Approvers1" size="11" onkeydown="AddUsersKeyDown(event,this.id)" style="width: 470px;" />
</td>
function AddUsersKeyDown(evtobj,id) {
if (evtobj.keyCode == 75 && evtobj.ctrlKey) {
AddUsers(id);
}
}
使用this获取DOM元素,或使用this.id获取元素的id
<td>
<input type="text" id="Approvers1" size="11" onkeydown="AddUsersKeyDown(event,this.id)" style="width: 470px;" />
</td>
function AddUsersKeyDown(evtobj,id) {
if (evtobj.keyCode == 75 && evtobj.ctrlKey) {
AddUsers(id);
}
}
首先,应该将函数重命名为AddUsersKeyDown,以便触发keydown事件。在事件对象上,有一个target属性,它具有触发DOM元素。您可以使用该信息获取id
<input type="text" id="Approvers1" size="11" onkeydown="AddUsersKeyDown(event)" style="width: 470px;" />
下面是一个JSFIDLE:首先,您应该将函数重命名为AddUsersKeyDown,以便触发keydown事件。在事件对象上,有一个target属性,它具有触发DOM元素。您可以使用该信息获取id
<input type="text" id="Approvers1" size="11" onkeydown="AddUsersKeyDown(event)" style="width: 470px;" />
下面是一个JSIDLE:您可以:
function AddUserKeyDown(evtobj) {
evtobj = evtobj || window.event;
var target = evtobj.target || evtobj.srcElement;
if (evtobj.keyCode == 75 && evtobj.ctrlKey) {
AddUsers(target.id);
}
}
您的函数名不匹配顺便说一句,您可以:
function AddUserKeyDown(evtobj) {
evtobj = evtobj || window.event;
var target = evtobj.target || evtobj.srcElement;
if (evtobj.keyCode == 75 && evtobj.ctrlKey) {
AddUsers(target.id);
}
}
顺便说一句,你的函数名不匹配
这里
然后取下onkeydown
<input type="text" id="Approvers1" class="keydown" size="11" style="width: 470px;" />
添加脚本
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
$(function() {
$('.keydown').keydown(function() {
console.log( $(this).attr('id') );
});
});
<script>
可能有很多代码,但是你可以确定它是跨浏览器的
获取
这里
然后取下onkeydown
<input type="text" id="Approvers1" class="keydown" size="11" style="width: 470px;" />
添加脚本
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
$(function() {
$('.keydown').keydown(function() {
console.log( $(this).attr('id') );
});
});
<script>
可能有很多代码,但是你可以确定它是跨浏览器的
获取IE8中target.id中的脚本错误。。。在chrome和firefox中,其工作方式没有更新,只有示例..:现在看看!谢谢你工作得很好。。。但是我的文本框中输入了“k”。。。如何防止…添加一个返回错误;在添加用户之后,我更新了fiddle和example.getting脚本错误,在IE8的target.id中。。。在chrome和firefox中,其工作方式没有更新,只有示例..:现在看看!谢谢你工作得很好。。。但是我的文本框中输入了“k”。。。如何防止…添加一个返回错误;在添加用户之后,我已经更新了提琴和示例。效果很好。。。但是我的文本框里输入了“k”。。。如何避免…我只在按下ctrl k键时调用AddUsers函数。。。所以k被附加在textboxUse evtobj.stopPropagation中;调用函数Getting script error as Object不支持evtobj.stopPropagation行的此属性或方法后停止进一步传播;在IE8中…工作正常。。。但是我的文本框里输入了“k”。。。如何避免…我只在按下ctrl k键时调用AddUsers函数。。。所以k被附加在textboxUse evtobj.stopPropagation中;调用函数Getting script error as Object不支持evtobj.stopPropagation行的此属性或方法后停止进一步传播;在IE8中。。。