Javascript JS事件CTRL+;鼠标悬停在+;隐藏文本
我必须做到这一点:Javascript JS事件CTRL+;鼠标悬停在+;隐藏文本,javascript,jquery,html,Javascript,Jquery,Html,我必须做到这一点: 在div中隐藏文本 用户将按下Ctrl键,然后将鼠标放在按钮上-必须调用javascript函数,并且应该显示div中的文本 如果用户松开Ctrl键,文本应消失(即使鼠标在按钮上),同样,如果用户将鼠标从按钮上移出,文本应消失(即使按下Ctrl键) 我迄今为止的工作: <html> <head> <script type="text/javascript" src="jquery.js"></script> <script
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script>
loadHandler = function(){
$("#selector").mouseover(function(e){
if(e.ctrlKey) {
//what do I have to write here so that holding CTRL will be recognized ?
}
});
}
</script>
</head>
<body onload="loadHandler();">
<button type="button" onmouseover="document.getElementById('center').style.visibility = 'visible'">CTRL+mouseover</button>
<div id="center" onmouseout="this.style.visibility = 'hidden'">
<h1>Text text text</h1>
</div>
</body>
</html>
loadHandler=函数(){
$(“#选择器”).mouseover(函数(e){
如果(e.ctrlKey){
//我必须在这里写些什么才能识别按住CTRL键?
}
});
}
CTRL+mouseover
文本文本文本
我必须承认,我刚刚开始学习JS,所以请帮助我:)
- 如何使按住CTRL键和鼠标同时被识别
$(document).ready(function(){
var keyPressed = false;
var mouseovered = false;
$("#center").mouseover(function(e){
doStuff();
mouseovered = true;
});
$("#center").mouseout(function(){
doStuff();
mouseovered = false;
});
$(document).keydown(function(e){
doStuff();
if (e.ctrlKey)
{
keyPressed = true;
}
else keyPressed = false;
});
$(document).keyup(function(e){
if (keyPressed)
{
keyPressed = false;
}
doStuff();
});
function doStuff()
{
if(mouseovered && keyPressed) $("#center").css({"color": "#000"});
else $("#center").css({"color": "#fff"});
}
});
我只是没有在默认情况下隐藏文本。否则你很难找到它现在的位置。在检查之前,不要忘了点击正文
。否则将无法检测到按键
工作工作样本
MouseEvent.shiftKey,MouseEvent.ctrlKey
功能按键测试(事件){
//错误,没有新闻,
//是的,按
console.log(event.ctrlKey)
console.log(event.shiftKey)
if(event.ctrlKey){
//隐藏文本
}
}
Thank you@void,但我需要在按住CTRL键和鼠标悬停按钮时触发此事件。你可以隐藏它,因为这是主要的想法:当按住CTRL+鼠标在按钮上方时,文本显示。当从按钮中释放CTRL或鼠标时->文本消失。不完全消失。如果不按CTRL键,文本将消失。我不这么认为。再检查一遍,我使用的是给定的JSFIDLE和文本dissapear,即使没有按CTRL键。这也发生在我的本地主机上。我希望我不是太烦人。整个代码的思想是按住CTRL+mouseover键会显示隐藏的文本我将在stackoverflow上创建一个新线程,以避免扩展讨论,并添加两个解决方案。第二个仍然不起作用。
<img onmouseover="keypress_test(event)" onmouseout="keypress_test(event)">
function keypress_test(event) {
// false, no press,
// true, pressed
console.log(event.ctrlKey)
console.log(event.shiftKey)
if (event.ctrlKey) {
// hide text
}
}