我们有一个基于 System.Web.UI 的自定义 Web 控件的 dll。我被要求这样做,所以当用户按 Enter 键时,将触发 tab 事件。我已经这样做了:
Me.Attributes.Remove("onkeydown")
Me.Attributes.Add("onkeydown", "if(event.keyCode == 13) {event.keyCode = 9; return event.keyCode;}")
If Me.TextMode = Web.UI.WebControls.TextBoxMode.MultiLine Then
Me.Attributes.Remove("onkeydown")
End If
但它只适用于IE。当我在 FF 和 Chrome 上测试它时,回车事件会生成回发。我尝试了其他解决方案:
<script type="text/javascript">
function catchEnter(e){
var theKey=0;
e=(window.event)?event:e;
theKey=(e.keyCode)?e.keyCode:e.charCode;
if(theKey=="13"){ // 13 is the key code for ENTER
// here is where your code will go
//return false; // return false if you want to...
//...halt submission of form (call this function onsubmit)
}
}
</script>
function checkKey(e) {
var event = window.event ? window.event : e;
if (true) {
alert(event.keyCode)
}
}
并且:
function displayunicode(e){
var unicode=e.keyCode? e.keyCode : e.charCode
但我必须使用 Attributes.Add 来插入 javascript。我可以使用 Attributes.Add 写下整个 javascript 函数吗?当我尝试使用这些功能时,我忽略了“脚本”标签,只放了 javascript 代码。我在这里做错了吗?
这些代码中的哪一个会起作用?(IE、FF 和 Chrome)