【发布时间】:2012-03-24 12:03:32
【问题描述】:
我在我的网站中使用了一个用户控件,它执行自动完成文本框的功能。我已将 JavaScript 用于 keydown 和 onfocus 客户端事件。这是代码:
<script language="JavaScript" type="text/javascript">
function TriggeredKey(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
if (keycode == 9) {
document.getElementById("<%=pnlSearch.ClientID %>").style.visibility = 'hidden';
document.getElementById("<%=pnlSearch.ClientID %>").style.display = 'none';
}
else {
document.getElementById("<%=hdfkey.ClientID %>").value = keycode;
}
_dopostback();
}
function pasteIntoInput(el) {
var text = document.getElementById("<%=txtSearch.ClientID %>").value;
if (typeof text != "undefined" && text != "") {
el.focus();
el.value = el.value;
if (typeof el.selectionStart == "number" && typeof el.selectionEnd == "number") {
var val = el.value;
var selStart = el.selectionStart;
el.value = val.slice(0, selStart) + val.slice(el.selectionEnd);
el.selectionEnd = el.selectionStart = selStart + text.length;
}
else if (typeof document.selection != "undefined") {
el.focus();
}
}
}
当我在我的 aspx 页面中使用此控件的单个实例时,它可以正常工作,但是当我在我的 aspx 页面中使用多个实例时,所有控件的 JavaScript 都会被我页面中控件的最后一个实例覆盖并且没有其他控件起作用。
【问题讨论】:
标签: javascript asp.net user-controls