jsTree приводит к тому, что ссылки на всю страницу не работают - PullRequest
1 голос
/ 21 апреля 2010

Привет, У меня следующая проблема. На моей странице mvc asp.net (которая является частичным представлением) я создаю экземпляр jsTree следующим образом:

<script type="text/javascript">
    $(function() {
        $("#industries").tree({
            callback: {
                onselect: function(NODE, TREE_OBJ) {
                    $("#SelectedIndustryROWGUID").val($(NODE).attr("id"));
                    $("#resultMessage").append($(NODE).attr("rel"));
                }
            },
            data: {
                type: "json",
                async: true,
                opts: {
                    method: "GET",
                    url: "/CreateMessage/GetIndustries/"
                }
            }
        });
    });

это работает нормально, но затем, когда я нажимаю на любую ссылку на странице, это не работает. Ссылки выполняются, когда я выбираю «открыть в новой вкладке» из контекстного меню. Когда я удаляю вышеуказанную часть, все работает нормально Может кто-нибудь помочь мне с этим?

EDIT Я изменил код выше, чтобы быть следующим:

<script type="text/javascript">
$(document).ready(function() {
    $("#industries").tree({
        callback: {
            onselect: function(NODE, TREE_OBJ) {
                $("#SelectedIndustryROWGUID").val($(NODE).attr("id"));
                $("#resultMessage").append($(NODE).attr("rel"));
            }
        },
        data: {
            type: "json",
            async: true,
            opts: {
                method: "POST",
                url: "/CreateMessage/GetIndustries/"
            }
        }
    });
});

(Я добавил $ (document) .ready (function () {... но это также не помогло

EDIT2 Я также задал этот вопрос в дискуссионной группе jsTree и получил ответ. Обновление jquery до версии 1.4.2 решило проблему!

1 Ответ

0 голосов
/ 21 апреля 2010
<script type="text/javascript">
    $(function() { <--- here change to --> $(document).ready(function(){
        $("#industries").tree({

когда вы делаете $(something), jquery ожидает, что «что-то» будет селектором, в вашем коде вы непосредственно даете ему функцию вместо всего, что jquery считает селектором.

...