📅  最后修改于: 2023-12-03 15:16:46.439000             🧑  作者: Mango
destroy()
方法是 jQuery UI 菜单的一种方法,用于销毁菜单并还原相关元素的状态。当你需要在页面加载完成后销毁动态生成的菜单时,可以使用该方法。
$( ".Selector" ).menu( "destroy" )
#menu
或 .menu-class
该方法没有返回值。
在页面加载完成后,使用 menu()
方法创建菜单,并保存其实例,如下所示。
let menuInstance = $( "#menu" ).menu();
当你需要销毁该菜单时,使用 destroy()
方法,如下所示。
menuInstance.menu( "destroy" );
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery UI 菜单 destroy() 方法示例</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<script>
$(function() {
let menuInstance = $( "#menu" ).menu();
$('#destroyButton').click(function() {
menuInstance.menu( "destroy" );
});
});
</script>
</head>
<body>
<ul id="menu">
<li class="ui-state-disabled"><div>Toys (n/a)</div></li>
<li><div>Books</div></li>
<li><div>Clothing</div></li>
<li><div>Electronics</div></li>
<li><div>Home (n/a)</div></li>
<li><div>Music</div></li>
<li><div>Software</div></li>
<li><div>Tools</div></li>
</ul>
<button id="destroyButton">销毁菜单</button>
</body>
</html>
destroy()
方法仅销毁菜单,不会删除相关元素。如果需要删除相关元素,需要手动删除。contextmenu
事件的 preventDefault()
方法,如下所示。$(document).on('contextmenu', function(e) {
e.preventDefault();
});