當 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")%>
出於某種未知的原因,當我在 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粉7855224002023-09-13 13:35:45
(除非ASP.NET 做了一些奇怪的事情(我不使用ASP.NET,你沒有將問題標記為關於asp .net),有onclick
屬性) e
不是滑鼠事件。它是未定義的。錯誤訊息告訴您這一點。
事件
是一個滑鼠事件,但已被棄用。
建議使用addEventListener code>
而不是內在事件屬性(如 onclick
)。
element.addEventListener('click', chkOlcs_onClick)
將傳遞滑鼠事件作為第一個參數。