【发布时间】:2012-12-15 00:51:16
【问题描述】:
我有一个包含 2 个 javascript 事件的页面,一个由鼠标触发,另一个由键盘触发。当我加载页面时,我可以让一个或另一个工作,但不能同时工作。如果我先按一个键,该功能将运行,但随后我无法进行鼠标单击或其他按键操作。反之亦然。我知道 jQuery 使这更容易,但我不想让我的用户为每个页面下载它,所以我试图用老式的方式来做这件事。我已经阅读了尽可能多的关于 javascript 事件的内容,但我被困在这里...
提前谢谢,布拉德。 注意:在 Chrome 和 Safari 中我得到上述结果,Firefox 和 Opera 只能使用按键功能
<html>
<head>
<script>
function create(event) {
var x=event.clientX-14;
var y=event.clientY-33;
var output = document.write("<p id=\"text\" style=\"background-color: white; position: absolute; top:" + y + "px;left:" + x + "px;\";>You're Text, your M@jesty!</p>");
}
function type(event)
{
var letter_in = event.keyCode;
var letter = String.fromCharCode(letter_in);
//var shift = event.shiftKey;
//if (shift === false) {letter = String.toLowerCase;}
document.write(letter);
}
</script>
</head>
<body onmousedown="create(event)" onkeydown="type(event)">
</body>
</html>
【问题讨论】:
-
你真的应该考虑使用 jQuery。
-
@BenM:“我知道 jQuery 让这一切变得更容易,但我不想让我的用户为每个页面下载它”。没有 jQuery,OP 想要做的事情很容易。
-
抱歉,错过了。来晚了!
标签: javascript events mouseevent keyevent