Saya mendapat ralat ini apabila e ialah MouseEvent.
HTML yang melibatkan acara klik kotak pilihan yang dimaksudkan kelihatan seperti ini:
<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>
Dalam HTML di atas, ini adalah bahagian yang bermasalah:
<%#Eval("Key.Name")%>
Atas sebab yang tidak diketahui, apabila saya nyahpepijat dan menjalankan program ini dalam Visual Studio dalam pelayar Edge, saya mendapat ralat.
Entah bagaimana, e menjadi tidak ditentukan dan tidak pernah mencapai panggilan fungsi Javascript.
Ini ialah definisi fungsi 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(); } }
Sekarang untuk memburukkan lagi keadaan: apabila berjalan dari halaman web yang digunakan, tiada ralat berlaku.
Saya telah membaca hampir semua soalan yang serupa yang berkaitan dengan ralat ini tetapi tiada satu pun daripadanya nampaknya terpakai. Saya terbuka untuk sebarang bantuan.
(Melainkan ASP.NET melakukan sesuatu yang pelik (saya tidak menggunakan ASP.NET dan anda tidak menandai soalan itu sebagai tentang asp .net), mempunyai
onclick
属性)e
bukan acara tetikus. Ia tidak ditentukan. Mesej ralat memberitahu awak yang Ini事件
ialah acara tetikus tetapi telah ditamatkan.Adalah disyorkan untuk menggunakan
addEventListener code>
而不是内在事件属性(如addEventListener code>
onclick
dan bukannya sifat peristiwa intrinsik (sepertionclick
).element.addEventListener('click', chkOlcs_onClick)
Akan melepasi acara tetikus sebagai parameter pertama.