0

对于下面的代码,我如何为菜单项的事件(在选择菜单项时)调用test()如下的 Javascript 函数?onselect

我一直在处理OnClick按钮中的事件,但我不知道OnSelect菜单项的事件,如何调用菜单项的选择函数。

谁能建议我下面的代码如何工作并在选择名为Log Report的菜单项时调用我的函数test() (代码 1) ,如 代码 2中所示?

<ul>
<li>Log Report</li>
</ul>

代码 1

<script>
function test() {
    window.open("www.google.com");
}
</script>

代码 2

<html lang="en">
<head>
<meta charset="utf-8">
<title>Test screen</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<link href="style.css" rel="stylesheet" type="text/css">
<script>
$(function() {
$( "#menu" ).menu();
});
</script>
<style>
.ui-menu { width: 230px; }
</style>
</head>
<body>
<ul id="menu">
<li>Database</li>
<li>Log
<ul>
<li>Log Report</li>
</ul>
</li>
</html>
4

4 回答 4

1

不要为每个创建函数li,建议使用data属性

<ul id="menu">
  <li>Database</li>
  <li>Log
    <ul>
      <li data-page="www.google.com">Log Report</li>
    </ul>
  </li>
</ul>

然后在函数中传递

$('#menu li').click(function(){
  test($(this).data('page'));// which will give "www.google.com" if clicked on the Log Report
}

function test(url){
  window.open = url;
}
于 2014-07-10T10:37:35.537 回答
0

我想你在找这个

    $("#menu").on("click", "li", function(event){
      test();    
      console.log('clicked');
     });

希望这会有所帮助... 更多信息 演示JSFiddle

于 2014-07-10T10:27:03.797 回答
0

当您使用 jQuery UI菜单小部件时,请使用select 事件,它会在选择菜单项时触发。

$('#menu').menu({
    select: function (event, ui) {
        test();
    }
});

另一种方法是

$("#menu").on("menuselect", function (event, ui) {
    test();
});
于 2014-07-10T10:27:34.670 回答
0

使用点击事件

  $("#menu li").click(function(){
      test();    
     });
于 2014-07-10T10:27:51.287 回答