2017-02-09 144 views
-1

問題:單擊kendo菜單項中的圖像,select事件不會觸發。Kendo UI菜單項選擇問題

我曾嘗試:請參見下面的代碼示例

<!DOCTYPE html> 
<html> 
<head> 
    <base href="http://demos.telerik.com/kendo-ui/menu/images"> 
    <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style> 
    <title></title> 
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.1.118/styles/kendo.common-material.min.css" /> 
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.1.118/styles/kendo.material.min.css" /> 
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.1.118/styles/kendo.material.mobile.min.css" /> 

    <script src="https://kendo.cdn.telerik.com/2017.1.118/js/jquery.min.js"></script> 
    <script src="https://kendo.cdn.telerik.com/2017.1.118/js/kendo.all.min.js"></script> 
</head> 
<body> 
    <div id="example"> 
     <div class="demo-section k-content"> 
      <h4>Menu with images</h4> 
      <ul id="menu-images"></ul> 
     </div> 
     <script> 
      $("#menu-images").kendoMenu({ 
       dataSource: [ 
       { 
        text: "Golf", imageUrl: "../content/shared/icons/sports/golf.png", 
        items: [ 
        { 
         text: "Top News", 
         imageUrl: "../content/shared/icons/16/star.png", 
         select: function (e) { 
          alert('Clicking on image select event is not triggering') 
         } 
        }, 
        { text: "Photo Galleries", imageUrl: "../content/shared/icons/16/photo.png" }, 
        { text: "Videos Records", imageUrl: "../content/shared/icons/16/video.png" }, 
        { text: "Radio Records", imageUrl: "../content/shared/icons/16/speaker.png" }] 
       },] 
      }); 
     </script> 
     <style> 
      #menu-sprites .k-sprite { 
       background-image: url("../content/shared/styles/flags.png"); 
      } 
      .brazilFlag { 
       background-position: 0 0; 
      } 
      .indiaFlag { 
       background-position: 0 -32px; 
      } 
      .netherlandsFlag { 
       background-position: 0 -64px; 
      } 
      .historyIcon { 
       background-position: 0 -96px; 
      } 
      .geographyIcon { 
       background-position: 0 -128px; 
      } 
     </style> 
    </div> 
</body> 
</html> 

說明:

我已經編輯從Telerik的演示採取此代碼示例。在上面的代碼中,我添加了Golf的項目。那也是我選擇的選擇功能。執行完畢後。 如果我點擊文本「熱門新聞」,警報將觸發。當我單擊/選擇圖像時警報不起作用。

在Telerik論壇發帖只適用於授權用戶。我沒有。

讓我知道是否有任何機構遇到這類問題。

感謝 開發

回答

0

好像你已經嵌套在數據源項目中的事件的聲明。

只是將聲明移動到菜單級別,它應該工作。

$("#menu-images").kendoMenu({ 
      select: function(e) { 
       alert($(e.item).children('.k-link').text())     
      } 
      dataSource: [ 
      { 
       text: "Golf", imageUrl: "../content/shared/icons/sports/golf.png", 
       items: [ 
       { 
        text: "Top News", 
        imageUrl: "../content/shared/icons/16/star.png" 
       }, 
       { text: "Photo Galleries", imageUrl: "../content/shared/icons/16/photo.png" }, 
       { text: "Videos Records", imageUrl: "../content/shared/icons/16/video.png" }, 
       { text: "Radio Records", imageUrl: "../content/shared/icons/16/speaker.png" }] 
      },] 
     }); 

使用$(e.item)您可以進一步確定哪個項目已被選中。看看在線演示的事件部分。 http://demos.telerik.com/kendo-ui/menu/events