首页  >  问答  >  正文

未捕获的 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粉012875927381 天前542

全部回复(1)我来回复

  • P粉785522400

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

    (除非 ASP.NET 做了一些奇怪的事情(我不使用 ASP.NET,你没有将问题标记为关于 ),具有 onclick 属性)e 不是鼠标事件。它是未定义的。错误消息告诉您这一点。

    事件 是一个鼠标事件,但已被弃用。

    建议使用addEventListener 而不是内在事件属性(如 onclick)。

    element.addEventListener('click', chkOlcs_onClick) 将传递鼠标事件作为第一个参数。

    回复
    0
  • 取消回复