使用.on()在jQuery UI小部件工厂中单击事件
我正在尝试从jQueryUI选项卡实现功能 但是我不想让代码在小部件外部,而是想让它在小部件内部 “添加新选项卡”工作正常,但我在单击选项卡内的关闭图标时遇到问题。我不确定如何使用小部件工厂处理该事件 这就是我到目前为止所做的: JS:使用.on()在jQuery UI小部件工厂中单击事件,jquery,jquery-ui,jquery-ui-tabs,jquery-ui-widget-factory,Jquery,Jquery Ui,Jquery Ui Tabs,Jquery Ui Widget Factory,我正在尝试从jQueryUI选项卡实现功能 但是我不想让代码在小部件外部,而是想让它在小部件内部 “添加新选项卡”工作正常,但我在单击选项卡内的关闭图标时遇到问题。我不确定如何使用小部件工厂处理该事件 这就是我到目前为止所做的: JS: $.widget(“ui.tabs”,$.ui.tabs, { _创建:函数(事件、用户界面) { 这个; 此._on($(“span.ui图标关闭”){ 单击:函数() { var panelId=$(this.closest(“li”).remove().a
$.widget(“ui.tabs”,$.ui.tabs,
{
_创建:函数(事件、用户界面)
{
这个;
此._on($(“span.ui图标关闭”){
单击:函数()
{
var panelId=$(this.closest(“li”).remove().attr(“aria控件”);
$(“#”+panelId).remove();
这个。刷新();
}});
},
addTab:函数(文本,id)
{
var tab=“删除选项卡” ”;
var panel=“这是新内容!”;
this.tabs.parent().append(tab);
this.panels.parent().append(panel);
这个。刷新();
},
});
$(“#制表符”).tabs();
$(“选项卡”).tabs(“添加选项卡”、“新选项卡”,3);
$(“选项卡”)。选项卡(“添加选项卡”、“其他选项卡”,15);
小提琴:如果您需要的只是一个实际的点击事件,您可以在其中执行您的魔术,那么这可以通过更改以下行来完成:
var tab = "<li><a href='#" + id + "'>" + text + "</a><span class='ui-icon ui-icon-close' role='presentation'>Remove Tab</span></li>";
var-tab=“删除选项卡” ”;
为此:
var tab = $("<li>").html("<a href='#" + id + "'>" + text + "</a>");
var close = $("<span>")
.addClass("ui-icon ui-icon-close")
.attr("role","presentation")
.text("Remove Tab")
.on("click", function() {
// do whatever you want to do onclick
});
tab.append(close);
var-tab=$(“”).html(“”);
var close=$(“”)
.addClass(“ui图标ui图标关闭”)
.attr(“角色”、“演示文稿”)
.text(“删除选项卡”)
.on(“单击”,函数(){
//点击后做你想做的事
});
tab.追加(关闭);
请试试这个
$.widget(“ui.tabs”,$.ui.tabs,
{
_创建:函数(事件、用户界面)
{
这个;
此._on($(“span.ui图标关闭”){
单击:函数()
{
var panelId=$(this.closest(“li”).remove().attr(“aria控件”);
$(“#”+panelId).remove();
这个。刷新();
}});
},
addTab:函数(文本,id)
{
var tab=“删除选项卡” ”;
var panel=“这是新内容122121212!”;
this.tabs.parent().append(tab);
this.panels.parent().append(panel);
这个。刷新();
},
移除选项卡:功能(eve)
{
$(eve).remove();
//刷新选项卡小部件
$(“选项卡”).tabs(“刷新”);
}
});
$(“#制表符”).tabs();
$(“选项卡”).tabs(“添加选项卡”、“新选项卡”,3);
$(“选项卡”)。选项卡(“添加选项卡”、“其他选项卡”,15);
$(文档)。在('单击','上。ui图标关闭',函数(e){
$(“#制表符”).tabs(“removeTab”,即target.offsetParent);
});代码>
#tabs li.ui图标关闭{float:left;margin:0.4em 0.2em 0;cursor:pointer;}
青蒿素、金樱子、天妇罗、金樱子a、金樱子。库拉比图尔nec arcu。我坐在阿梅特·莫里斯旁边。这是一个很好的例子。埃蒂亚姆·阿利奎特·马萨和洛雷姆。毛里斯·达比乌斯·拉库斯·奥克托·里苏斯。埃涅亚临时乌拉姆科珀狮子座。维瓦摩斯·塞德·马格纳·奎斯·利古拉·埃利弗德·阿迪皮斯。杜伊斯·奥奇。苏打水煎饼或同侧生命。阿利奎姆·努拉。我是阿利奎姆·莫莱斯蒂·埃拉特。这是一种新的葡萄品种。这是我的梦想。同侧相位。努克·特里斯蒂克·坦普斯·莱克图斯
Morbi tincidunt,我坐在医院里,看医生,看医生,看医生,看医生。杜伊斯·塞勒里克·莫莱斯蒂·图皮斯。塞德·弗林利亚,马萨·埃吉特·卢克图斯·马莱苏阿达,梅特斯·厄洛斯·莫莱斯蒂·莱克托斯,我们的厄洛斯·多洛。埃尼安·阿利奎特·弗林利亚。悬钩子在舌苔中是舌苔。在爱神的前庭里祈祷。临床医生。库拉比图尔·奥纳雷·康塞奎特·努克。埃尼安·韦尔梅特斯。乌特·波苏尔·维韦拉·努拉。阿利奎姆·埃拉特·帕特。佩伦茨克康瓦利斯。梅塞纳斯·费吉亚、佩伦特斯·普雷蒂姆·波苏尔、猫科动物奥勒姆·尤伊斯莫·费利斯、欧纳·利奥·尼西·维勒·费利斯。毛里斯·康塞德图尔·托托和珀鲁斯
毛里斯·埃利芬德和图皮斯。酒后驾车。潜力悬钩子。这是一种腐败,是一种腐败,是一种腐败,是一种腐败,是一种腐败,是一种腐败。前庭无前庭。根据康努比亚·诺斯特拉(conubia nostra)和希梅纳奥斯(inceptos himenaeos)的规定,社会责任和责任等级为:。Fusce苏打啤酒。这是一个很好的例子。这是一种很好的治疗方法。库拉比图尔·洛雷姆·埃尼姆、普雷蒂姆·内克、福吉亚·内克、卢克图斯·a、拉克斯
杜伊斯·库苏斯。梅塞纳斯·利古拉·厄罗斯、布兰迪·内克、法雷特拉、森佩尔、麦格纳。纳拉姆ac拉克斯。无便利。普雷森特·维韦拉·胡斯托·维塔·内克。普拉森特·布兰迪特·维利特。潜力悬钩子。Donec mattis,pede vel pharetra blandit,magna ligula faucibus eros,id euismod lacus dolor eget odio。南斯克利斯克。Donec non libero sed nulla mattis commodo。Ut矢状位。Donec nisi lectus,封建者porttitor,临时ac,临时vitae,pede。这是一种交通工具。Maecenas commodo。佩伦茨克nec精英。拉库斯的福斯。维瓦摩斯是自由人,莱克图斯·亨德雷特·亨德雷特
这不是我所期望的解决方案,但这可以解决问题。谢谢我想在小部件中解决它,而不需要外部代码。Oops将很快更新…请查看此链接。它可能对您有帮助:)
var tab = $("<li>").html("<a href='#" + id + "'>" + text + "</a>");
var close = $("<span>")
.addClass("ui-icon ui-icon-close")
.attr("role","presentation")
.text("Remove Tab")
.on("click", function() {
// do whatever you want to do onclick
});
tab.append(close);