为什么 Java 脚本单击事件在第一页加载时没有触发

why Java script click event doesn't fired in the first page loading?

本文关键字:加载 第一页 脚本 Java 单击 事件 为什么      更新时间:2023-09-26

Java 脚本单击事件在我刷新页面后的第一个页面加载中没有触发,它工作正常,下面是我的代码

第 1 页:

<h:form id="sellsForm">
    <ui:include src="../mypages/page2.xhtml" />
    <h:panelGroup id="sellsPanel" layout="block" styleClass="my_panel">
        <h:outputText id="sellitem" value="#{bean.selecteInfo}" styleClass="high" rendered="#{bean.selecteInfo == null ? false : true}"/>       
    </h:panelGroup>     
</h:form>

../mypages/page2.xhtml

<div class="menu_element">
    <a4j:commandLink styleClass="service_icon"
        action="#{bean.setSelecteditem('Service')}" immediate="true" render="sellsPanel">
        <h:outputText value="#{msgs['menu.service']}" />
        <br/>           
    </a4j:commandLink>
</div>

.js

$('div."menu_element').click(function() {
    debugger;
    var siblingDivs = $(this).parent().children();
    siblingDivs.each(function() {
        if($(this).hasClass("selected")) {
            $(this).removeClass("selected");
        }
    });
    $(this).addClass("selected");
});

javascript 函数应该在 body onload onload="myFunction()" 或 jquery $( document ).ready(function() { alert(); });

您可以使用

$(document).on('click','div."menu_element',function() {
        debugger;
        var siblingDivs = $(this).parent().children();
        siblingDivs.each(function() {
            if($(this).hasClass("selected")) {
                $(this).removeClass("selected");
            }
        });
        $(this).addClass("selected");
    });