Как вызвать функцию JavaScript при загрузке нового шаблона? - PullRequest
0 голосов
/ 05 сентября 2018

Я работаю с пружинными рамками. Мой проект - "Maven Project".

//This is a function inside my navigator.jsp file
function selectNavigator(id) {
    var color = "";
    var colorSelected = "rgba(80,165,219)";
    $("#nav-beacons").css("background-color", color);
    $("#nav-messages").css("background-color", color);
    $("#nav-locations").css("background-color", color);
    $("#nav-analytics").css("background-color", color);
    $("#nav-company").css("background-color", color);
    $("#nav-users").css("background-color", color);
    $(id).css("background-color", colorSelected);
}

Эта функция изменяет фон выбранного элемента определенным цветом, оставляя остальные элементы навигации неокрашенными.

А это мой шаблон ...

<definition name="mainTemplate" template="/WEB-INF/templates/dashboard/index.jsp">
    <put-attribute name="title" value="Home" />
    <put-attribute name="heading" value="Home" />
    <put-attribute name="onLoad" value="selectNavigator('nav-users')" />
    <put-attribute name="header"    value="/WEB-INF/templates/dashboard/header.jsp" />
    <put-attribute name="body">
        <definition template="/WEB-INF/templates/dashboard/body.jsp">
            <put-attribute name="navigator" value="/WEB-INF/templates/dashboard/navigator.jsp" />
            <put-attribute name="body_content" value="" />
        </definition>
    </put-attribute>
    <put-attribute name="footer"    value="/WEB-INF/templates/dashboard/footer.jsp" />  
</definition>

Моя функция "selectNavigator" называется "onload", но она не работает. и я понятия не имею, почему это не работает.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Я бы попробовал

<put-attribute onload="selectNavigator('nav-users')" />
0 голосов
/ 05 сентября 2018

Я вижу синтаксическую ошибку в этой строке

 <put-attribute name="onLoad" value="selectNavigator("nav-users" />

Заменить на

 <put-attribute name="onLoad" value="selectNavigator('nav-users')" />

Это должно сработать.

...