2012-05-02 2 views
1

У меня есть древовидная структура, и я хочу добавить поддержку правой кнопки мыши для разных элементов. Это, как я это сделал:Отображение меню при щелчке правой кнопкой мыши по элементу дерева.

http://jsfiddle.net/doonot/xWjSz/

меню отображается только для первого корневого модуля (после правой кнопки мыши), но не для остальных корневых модулей. Можете ли вы сказать мне, что мне нужно изменить, чтобы получить меню для всех корневых модулей?

Большое спасибо, я ценю ваш ответ.

+1

Hiya там, я могу дать вам очень простой jsfiddle будет, что работа для вас это будет захватить вашу правую кнопку мыши? пожалуйста, дайте мне знать, если это вам подходит, bruv обновит ответ, используя древовидный вид, у вас будет хороший :) cheerios! –

+0

Да, это было бы очень приятно. Дайте мне одну минуту, и я добавлю часть своего древа выше! Кстати, я использую jquery-treeview. – doonot

+0

Saweet gimme 2 минуты! cheerios bruv! –

ответ

2

Хийя Пожалуйста, см эта демкаhttp://jsfiddle.net/hYJPv/1/илиhttp://jsfiddle.net/hYJPv/ (Исправлена ​​ошибка) или дифф подход здесь http://jsfiddle.net/UeqBk/for_Dooonot_from_Tats_innit/

на rightclick вы получите предупреждение.

код

$(document).ready(function() 
{ 
    // If you want to disable showing the context menu when right clicking 
    // on the document, the code below would do the trick. 
    $(document).bind("contextmenu",function(e) 
    { 
     alert('right click capture'); 
     return false; 
    }); 

    var $tree = $("#tree").kendoTreeView(
    { 
     select: function (event) 
     { 
      var $item = $(event.node); 
      console.log($item); 
      alert("selected"); 
     } 
    }); 


    // Find the item you want to select... 
    var $selected = $('#selected'); 
    var $treePath = $selected.parentsUntil($tree, "li"); 

    var treeView = $tree.data('kendoTreeView'); 

    // Expand the tree in order to show the selected item 
    treeView.expand($treePath); 

    // Gotta make both calls... 
    treeView.select($selected); 
    treeView.trigger('select', {node: $selected}); 
}); 
​ 
+0

Спасибо за это! Но я не уверен, что это действительно то, что мне нужно. Я могу зафиксировать правый щелчок, и меню даже показано, НО только для первого элемента в древовидной структуре. Это не работает для остальных предметов. Я не знаю, как это сделать. Вы знаете? – doonot

+0

@dooonot no probs bruv, вы имеете в виду в примере, который я дал или в вашем примере? извините, если этот звук немного плотный: просто убедитесь, что я правильно понимаю, что вы имеете в виду! Cheerios! –

+0

В приведенном примере. Я на самом деле использую этот [учебник] (http://www.webdeveloperjuice.com/2010/02/22/create-simple-jquery-right-click-cross-browser-vertical-menu/). – doonot

Смежные вопросы