我有以下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;
}
});
如果您的元素是acheckbox
而不是a,dropdown
则click
仍然使用。
如果您的选择器是指dropdown
使用,click
则需要支持IE8和更早版本。
请参阅下面的原因。
根据MSDN进行更改/更改,直到提交更改才触发该事件。
此外,以编程方式更改值时也不会触发事件。
去引用:
提交内容时(而不是值更改时)触发此事件。例如,在文本框中,在用户键入时不会触发此事件,而是在用户通过保留具有焦点的文本框来提交更改时触发。另外,当控件也失去焦点时,此事件在onblur指定的代码之前执行。以编程方式更改选择对象的选定选项时,不会触发onchange事件。更改的文本选择已提交。
要调用此事件,请执行以下任一操作:
- 使用鼠标或键盘导航在选择对象中选择其他选项。
- 更改文本区域中的文本,然后导航到对象之外。
如果必须支持IE8和更早版本,则最好使用该click
事件来代替,该事件在释放鼠标并选择新选项时会触发。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句