TBA*_*TBA 2 javascript checkbox asp.net-mvc jquery internet-explorer
我有以下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;
}
});
Run Code Online (Sandbox Code Playgroud)
如果你的元素是a checkbox而不是a,dropdown那么click无论如何都要使用.
如果您的选择器指的是一个dropdown用途,click如果您需要支持IE8及更早版本.
看看为什么会在下面.
根据更改/ onchange的MSDN,在提交更改之前不会触发事件.
此外,当以编程方式更改值时,也不会触发事件.
报价:
提交内容时会触发此事件,而值不会更改时触发此事件.例如,在文本框中,在用户键入时不会触发此事件,而是在用户通过保留具有焦点的文本框提交更改时触发.此外,当控件也失去焦点时,此事件在onblur指定的代码之前执行.当以编程方式更改选定对象的选定选项时,不会触发onchange事件.已提交更改的文本选择.
要调用此事件,请执行以下操作之一:
- 使用鼠标或键盘导航在选择对象中选择其他选项.
- 更改文本区域中的文本,然后导航出对象.
如果您必须支持IE8及更早版本,那么您最好使用该click事件,而当您释放鼠标并选择新选项时会触发该事件.