ASP.NET JQuery .click()在IE11中不起作用

时间:2016-01-26 13:55:58

标签: javascript jquery asp.net click internet-explorer-11

以下.click() - 方法在Chrome中触发没有问题。 在Internet Explorer中,只有在刷新页面时才会触发它(F5)。如果我通过输入网址来访问该页面(或通过其他页面的按钮重定向),则不会触发.click-method。

但如果我在.click()之前发出警告(“?”),它也适用于IE!

为什么它在IE中无法正常工作?我不能让警报()在那里......

$(window).load(function() {
    //Fake click on the last used Tab
    alert("?");
    $("#"+GetCookie("lastTab["+window.location.pathname+"]")).click();
});

=>可用(可点击)选项卡在

中创建
jQuery(document).ready(function($) {    
...
});

编辑来自评论:

以这种方式在.read(function($)内创建它们:

$("#HillbillyTabs").append('<li><a href="#Tab' + upperIndex + '" id="TabHead' + upperIndex + '" onclick="SetCookie(this.id);">' + title + '</a></li>').after('<div id="Tab' + upperIndex + '"></div>');

在脚本之后创建Container之后:

<div id="tabsContainer"><ul id="HillbillyTabs"></ul></div>

3 个答案:

答案 0 :(得分:1)

不要尝试注入函数调用,而是向代码添加事件侦听器。例如:(我编写了一些变量,因为你的代码没有在这里指出一些东西)

var upperIndex = $('#tabsContainer').find('ul').length;
var title = "mytitle";
var newHeadId = 'TabHead' + upperIndex;
var newTabId = 'Tab' + upperIndex;

$("#HillbillyTabs").append('<li><a href="#' + newTabId + '" id="' + newHeadId + '">' + title + '</a></li>').after('<div id="' + newTabId + '"></div>');

$("#HillbillyTabs").on('click', '#' + newHeadId, function() {
  console.log(this.id);
  SetCookie(this.id);
});

答案 1 :(得分:0)

IE似乎无法识别:

<%= datetime_select 'date', :date, start_year: Date.today.year, end_year: 1.year.from_now.year, :minute_step => 10%>

你可以尝试:

$(window).load()

答案 2 :(得分:0)

得到了解决方案。

奇怪的是.load中的fadeIn对IE也不起作用(比如.click)

$(window).load(function() {
    //Fake click on the last used Tab
    alert("?");
    $("#"+GetCookie("lastTab["+window.location.pathname+"]")).click();
    // When the page has loaded in Chrome
    $("#DeltaPlaceHolderMain").fadeIn(0);
});

对于淡入淡出,我必须在制表符的创建方法之后立即放置方法(在.ready()内)而不是.ready()的结尾。

现在还有.click,它现在适用于IE。

jQuery(document).ready(function($) {    
    setTimeout(function() {
        ...
        //Creation of tabs
        $("#tabsContainer").tabs();
        //Fake click on the last used Tab
        $("#"+GetCookie("lastTab["+window.location.pathname+"]")).click();
        // When the page has loaded in IE
        $("#contentBox").fadeIn(0);
    }, 0); 
//.click NOT here
});

感谢您的快速回复和提示!

亲切的问候