Jquery queryui选项卡小部件在浏览器状态栏中显示url
我正在使用精细的jQuery UI框架开发一个web应用程序风格的控制面板。它应该看起来像一个本地应用程序。因此,我在kiosk模式下打开浏览器窗口,这样就不会出现无关的浏览器功能。我遇到的一个困难是,由于选项卡呈现为html锚定,因此每个选项卡的href在状态栏中显示为“”,例如。这对我来说似乎很俗气,我在寻找一种让它消失的方法。我认为这会被认为是一个bug,因为在anchor的这个用例中,它实际上并没有像通常使用的那样分支到另一个站点,但是响应者并不同意 在这一点上,我想我必须找到另一种方法来解决这个问题(可能是对jqueryui代码进行猴子补丁?啊) 对如何解决这个问题有什么建议吗Jquery queryui选项卡小部件在浏览器状态栏中显示url,jquery,user-interface,jquery-ui,web-applications,Jquery,User Interface,Jquery Ui,Web Applications,我正在使用精细的jQuery UI框架开发一个web应用程序风格的控制面板。它应该看起来像一个本地应用程序。因此,我在kiosk模式下打开浏览器窗口,这样就不会出现无关的浏览器功能。我遇到的一个困难是,由于选项卡呈现为html锚定,因此每个选项卡的href在状态栏中显示为“”,例如。这对我来说似乎很俗气,我在寻找一种让它消失的方法。我认为这会被认为是一个bug,因为在anchor的这个用例中,它实际上并没有像通常使用的那样分支到另一个站点,但是响应者并不同意 在这一点上,我想我必须找到另一种方法
请参阅第页的问题。将鼠标悬停在选项卡上以查看状态栏的更改。这可以通过在自定义小部件中自定义
.tabs()
来完成。看一看
工作示例:
CSS
.ui-altTabs {
position: relative;
padding: .2em;
}
.ui-altTabs .ui-altTabs-nav li {
border-bottom-width: 0;
}
.ui-altTabs-tab {
float: left;
}
.ui-altTabs-anchor {
display: inline-block;
padding: .5em 1em;
cursor: pointer;
}
.ui-altTabs .ui-tabs-panel {
display: block;
border-width: 0;
padding: 1em 1.4em;
background: none;
}
JavaScript
$(function() {
$.widget("custom.altTabs", {
_create: function() {
this.wrapper = $("<div>")
.addClass("ui-altTabs custom-altTabs ui-corner-all ui-widget ui-widget-content")
.insertAfter(this.element);
this.element.hide();
this._createTabs();
},
_createTabs: function() {
this.list = $("<ul>")
.appendTo(this.wrapper)
.addClass("ui-altTabs-nav ui-corner-all ui-helper-reset ui-helper-clearfix ui-widget-header")
.attr("role", "tablist");
this.content = [];
var origSelf = this.element;
var contentList = origSelf.find("ul li");
var contentDivs = origSelf.find("div");
var currentUiCount = $(document).find("[id^='ui-id-']").length;
var self = this.list;
contentDivs.each(function(ind, el) {
var label = contentList.eq(ind).find("a").text();
var target = $(el).attr("id");
var item = $("<li>", {
class: "ui-altTabs-tab ui-corner-top ui-state-default ui-tab",
role: "tab"
}).appendTo(self);
$("<span>", {
id: "ui-id-" + ++currentUiCount,
"data-rel": target,
class: "ui-altTabs-anchor",
role: "presentation",
}).html(label).click(function(e) {
self.find(".ui-tabs-active").removeClass("ui-tabs-active")
.removeClass("ui-state-active");
$(e.target).parent().addClass("ui-tabs-active ui-state-active");
contentDivs.hide();
$("#" + $(e.target).data("rel")).show();
}).appendTo(item);
console.log("Appending Item to list: ", item);
});
self.find("li:eq(0)").addClass("ui-tabs-active ui-state-active");
for (i = contentDivs.length; i--; i >= 0) {
var panel = contentDivs.eq(i);
panel.addClass("ui-tabs-panel ui-corner-bottom ui-widget-content")
.attr("role", "tabpanel")
.insertAfter(self)
.hide();
if (i == 0) {
panel.show();
}
}
},
});
$("#tabs").altTabs();
});
$(函数(){
$.widget(“custom.altTabs”{
_创建:函数(){
this.wrapper=$(“”)
.addClass(“ui altTabs自定义altTabs ui角点所有ui小部件ui小部件内容”)
.insertAfter(此.element);
this.element.hide();
这个;
},
_createTabs:function(){
this.list=$(“”)
.appendTo(此.wrapper)
.addClass(“ui altTabs导航ui角点所有ui帮助器重置ui帮助器clearfix ui小部件标题”)
.attr(“角色”、“小报作者”);
this.content=[];
var origSelf=this.element;
var contentList=origSelf.find(“ul li”);
var contentDivs=origSelf.find(“div”);
var currentUiCount=$(document.find(“[id^='ui-id-']”)长度;
var self=this.list;
contentDivs.each(函数(ind,el){
var label=contentList.eq(ind).find(“a”).text();
var target=$(el.attr(“id”);
变量项=$(“- ”{
类:“ui altTabs选项卡ui角顶部ui状态默认ui选项卡”,
角色:“选项卡”
}).附属于(自己);
$("", {
id:“用户界面id-”+++currentUiCount,
“数据相关”:目标,
类:“ui altTabs锚定”,
角色:“演示”,
}).html(标签)。单击(函数(e){
self.find(“.ui选项卡处于活动状态”).removeClass(“ui选项卡处于活动状态”)
.removeClass(“ui状态激活”);
$(e.target).parent().addClass(“ui选项卡活动ui状态活动”);
contentDivs.hide();
$(“#”+$(e.target).data(“rel”).show();
}).附件(项目);
日志(“将项添加到列表:”,项);
});
self.find(“li:eq(0)”).addClass(“ui选项卡活动ui状态活动”);
for(i=contentDivs.length;i--;i>=0){
var面板=contentDivs.eq(i);
panel.addClass(“ui选项卡面板ui角落底部ui小部件内容”)
.attr(“角色”、“选项卡面板”)
.插入者(自我)
.hide();
如果(i==0){
panel.show();
}
}
},
});
$(“#制表符”).altTabs();
});
我不认为这在任何意义上是一个bug,只是在这个用例中不是您的首选。我建议您研究如何在全屏模式下的浏览器首选项中抑制这种情况。另一个选项要复杂得多,需要从每个选项卡中删除
,并构建。单击()为每个
元素绑定。我终于在我的应用程序中基本上实现了这一点。但是,新选项卡的可排序和悬停选择功能不起作用。此外,尽管我已经修改了CSS以支持altTabs小部件,但该演示文稿与标准tabs小部件不一样。这些功能是否可以在替代方案中恢复?