我有以下jquery代码,点击一个复选框,我将显示一个弹出值。
除了在IE中,在所有其他浏览器中它按预期工作。 也就是说,在更改时,将选中复选框并打开弹出窗口。
但是在IE8中它没有被检查,但弹出窗口正确显示。
代码:
$('#TAndC').change(function(){ if( $('input[name="TAndC"]').is(':checked')) { $('#TandCBox').show(); var termsandcondition = GetEnum().TermsandConditionsPageId; var actionURL = '@Url.Action("ShowTAndC", "Account", new { isFromCheckBox = true })'; $('.popUpForm').load(actionURL); var msgBox = $('#terms').attr('href'); MaskMsgPopUp(msgBox); return false; } });
如果您的元素是checkbox
而不是dropdown
则仍然使用click
。
如果您的选择器指的是dropdown
click
是否需要支持IE8及更早版本。
看看为什么在下面。
根据MSDN for change / onchange ,在提交更改之前不会触发事件。
此外,当以编程方式更改值时,也不会触发事件。
报价:
提交内容时会触发此事件,而值不会更改时触发此事件。 例如,在文本框中,在用户键入时不会触发此事件,而是在用户通过保留具有焦点的文本框提交更改时触发。 此外,当控件也失去焦点时,此事件在onblur指定的代码之前执行。 当以编程方式更改选定对象的选定选项时,不会触发onchange事件。 已提交更改的文本选择。
要调用此事件,请执行以下操作之一:
如果您必须支持IE8及更早版本,那么您最好使用click
事件,而不是当您释放鼠标并且选择了新选项时触发了该事件。
而不是.change使用下面的代码并尝试
需要了解更多jQuery教程分享Jquery复选框更改function在IE 8中不起作用,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
$(document).ready(function(){ $(document).on('click','#TAndC',click_function){ if( $('input[name="TAndC"]').is(':checked')) { $('#TandCBox').show(); var termsandcondition = GetEnum().TermsandConditionsPageId; var actionURL = '@Url.Action("ShowTAndC", "Account", new { isFromCheckBox = true })'; $('.popUpForm').load(actionURL); var msgBox = $('#terms').attr('href'); MaskMsgPopUp(msgBox); return false; } }); });
以上就是jQuery教程分享Jquery复选框更改function在IE 8中不起作用相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/981858.html