以下.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>
答案 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
});
感谢您的快速回复和提示!
亲切的问候