未捕获的 ReferenceError:e 未在 HTMLInputElement.onclick 中定义
P粉012875927
P粉012875927 2023-09-12 14:10:18
0
1
541

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粉012875927
P粉012875927

全部回复(1)
P粉785522400

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

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!