gpt4 book ai didi

javascript - 按下 ctrl+alt 时激活 jquery 函数

转载 作者:行者123 更新时间:2023-11-30 21:11:49 25 4
gpt4 key购买 nike

我想在(且仅)按下 ctrl+alt 按钮时激活 jquery 中的 draggableresizable 功能,并在释放时禁用它,我编写了这段代码

<!doctype html>
<html lang="en">

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Draggable - Default functionality</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<style>
#para {
width: 150px;
height: 150px;
padding: 0.5em;
}

.ui-resizable-helper {
border: 2px dotted #00F;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(function(e) {
if (e.ctrlKey || e.altKey) {
$("#para").draggable();
$("#para").resizable({
helper: "ui-resizable-helper"
});
}
});
</script>
</head>

<body>

<div id="para" class="ui-widget-content">
<h1 contenteditable>Header</h1>
<hr />
<p contenteditable>paragraph</p>
</div>


</body>

</html>

完成此代码后,我尝试在浏览器中按 ctrl+alt 但它不起作用,我删除了 if (e.ctrlKey || e.altKey) 逻辑部分它成功地工作但是当我替换那里的逻辑语句时它不起作用

我该如何解决?

最佳答案

您需要一个事件处理程序来捕捉按键。

您可以将插件初始化为禁用,然后在按下按键时启用,并在释放按键时再次禁用

 $(function() {
$("#para").draggable({
disabled : true
});

$("#para").resizable({
helper : "ui-resizable-helper",
disabled : true
});

$(document).on({
keydown : function(e) {
if (e.ctrlKey && e.altKey) {
$("#para").draggable( "enable" );
$("#para").resizable( "enable" );
}
},
keyup : function() {
$("#para").draggable( "disable" );
$("#para").resizable( "disable" );
}
});
});
<!doctype html>
<html lang="en">

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery UI Draggable - Default functionality</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<style>
#para {
width: 150px;
height: 150px;
padding: 0.5em;
}

.ui-resizable-helper {
border: 2px dotted #00F;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>

<body>

<div id="para" class="ui-widget-content">
<h1 contenteditable>Header</h1>
<hr />
<p contenteditable>paragraph</p>
</div>


</body>

</html>

关于javascript - 按下 ctrl+alt 时激活 jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46058440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com