搜尋

首頁  >  問答  >  主體

未捕獲的 ReferenceError:e 未在 HTMLInputElement.onclick 中定義

e 是 MouseEvent 時,我收到此錯誤。

涉及有問題的複選框點擊事件的 HTML 如下所示:

<ItemTemplate>
    <tr style="border-top:1px solid  #adadad;border-bottom:1px solid  #adadad;">
        <td>
            <asp:HiddenField runat="server" id="hfOptionProductID" value='<%#Eval("Key.ProductID")%>' />
            <asp:HiddenField runat="server" id="hfOptionModelNumber" value='<%#Eval("Key.BTModel")%>' />
            <asp:HiddenField runat="server" ID="hfAssetId" value='<%#Eval("Value.AssetID")%>' />
            <p>
               <%#Eval("Key.Name")%><asp:CheckBox runat="server" id="chbxOption" class="chkOlcs" onclick="chkOlcs_onClick(e);"/>
            </p>
            <asp:Panel runat="server" ID="pnlOlcs" class="pnlOlcs" Visible="False">
                <asp:CheckBox runat="server" ID="chkDomain" class="chkDomain" onclick="chkDomain_onClick(e)" Text="I want to link my license to a specific domain and its subdomains." /><br/>
                <asp:TextBox runat="server" ID="txtDomain" class="txtDomain"  style="padding: 3px 5px; text-align: center; width: 200px;" placeholder="Enter a domain name"  ValidationGroup="OptionValidationGroup" disabled />
                <asp:Label runat="server" ID="lblDomainError" class="lblDomain" Visible="False" style="color: red;"/><br/>
                <asp:CheckBox runat="server" ID="chkAny" class="chkAny" onclick="chkAny_onClick(e)" Text="I do not want to link my license to a specific domain."/><br/>
            </asp:Panel>
            <br />
       </td>               
   </tr>     
</ItemTemplate>

在上面的 HTML 中,這是有問題的部分:

<%#Eval("Key.Name")%>< /strong>

出於某種未知的原因,當我在 Edge 瀏覽器中的 Visual Studio 中偵錯執行此程式時,出現錯誤。

不知何故,e 變得未定義,並且永遠不會到達 Javascript 函數呼叫。

這是 Javascript 函數定義:

function chkOlcs_onClick(e) {
    var chkOlcs = $('#' + e.target.id);
    var pnlOlcs = chkOlcs.parent().parent().parent().find('.pnlOlcs');

    var isChecked = e.target.checked;
    if (isChecked) {
        pnlOlcs.show();
    } else {
        pnlOlcs.hide();
    }
}

現在更糟的是:當從部署的網頁運行時,不會發生錯誤。

我已經閱讀了幾乎所有與此錯誤相關的類似問題,但似乎沒有一個適用。我願意接受任何幫助。

P粉012875927P粉012875927430 天前596

全部回覆(1)我來回復

  • P粉785522400

    P粉7855224002023-09-13 13:35:45

    (除非ASP.NET 做了一些奇怪的事情(我不使用ASP.NET,你沒有將問題標記為關於),有onclick 屬性) e 不是滑鼠事件。它是未定義的。錯誤訊息告訴您這一點。

    事件 是一個滑鼠事件,但已被棄用。

    建議使用addEventListener 而不是內在事件屬性(如 onclick)。

    element.addEventListener('click', chkOlcs_onClick) 將傳遞滑鼠事件作為第一個參數。

    回覆
    0
  • 取消回覆