Как сделать клик по навигации в панели условных - PullRequest
0 голосов
/ 11 июля 2019

У меня есть панель панели, основанная на удаленном источнике данных, которая все работает нормально.Один из атрибутов в ленте, объединенный с полем формы на экране, будет определять, может ли пользователь щелкнуть дочерний элемент на панели панели и перейти к URL-адресу, или получить диалоговое окно с предупреждением, и навигация не удалась.

Я использую следующую технику, чтобы захватить данный атрибут json в ленте и связать его с каждым элементом на панели:

    $("#panelbar").kendoPanelBar({
        dataSource: haRepList,
        template: "<span class=''repType'' data-url=''#= item.type #''>#= item.name #</span>",
        select: function(panel){
           var classId =  $(panel.item).find(".repType").data(''url'');
           if (classId !== ''undefined'') {
           alert(classId);
           }
        },
        dataTextField: ["name", "name"]
    });

Поэтому, когда я нажимаю на данный элемент, я получаю предупреждение, сообщающеемне, что атрибут типа.Теперь мне нужно сказать панели «Не разрешать работу клика по URL», основываясь как на этом значении, так и на другом поле на экране.

1 Ответ

1 голос
/ 15 июля 2019

Вы можете попробовать preventDefault, stopPropagation или просто return false:

$("#panelbar").kendoPanelBar({
    dataSource: haRepList,
    template: "<span class=''repType'' data-url=''#= item.type #''>#= item.name #</span>",
    select: function(panel){
       var classId =  $(panel.item).find(".repType").data(''url'');
       if (classId !== ''undefined'') {
           panel.preventDefault();
       }
    },
    dataTextField: ["name", "name"]
});

Вот ссылка на рабочий демо , где вторая панель условно отключена.Надеюсь, это поможет.

...