jQuery UI 运算符重载
jQuery UI Operator Overloading?
我试图同时找出OOP Javascript,jQuery和jQuery UI。基本上,我想创建一个自定义的"面板"组件,我可以在整个 Web 应用程序的不同位置重复使用该组件。该面板由标题栏组成,然后由标题栏下方的内容组成。
所以我正在使用jQuery UI来完成这个。我希望能够制作组件,然后更改其属性(如标题栏文本)。下面是一个示例:
$(function()
{
$.widget("custom.ShinyPanel",
{
options: {
css:{},
title:""
},
_create:function()
{
$(this.element).addClass("shinyPanel").disableSelection();
this.titleBar = $(createElement("div")).addClass("shinyPanelTitleBar").appendTo(this.element);
this.topShine = $(createElement("div")).addClass("shinyPanelTopShine").appendTo(this.element);
this.leftShine = $(createElement("div")).addClass("shinyPanelLeftShine").appendTo(this.element);
this.content = $(createElement("div")).addClass("shinyPanelContent").appendTo(this.element);
this._refresh();
},
_refresh:function()
{
if (this.options.hasOwnProperty("title"))
$(this.titleBar).html(this.options.title);
}
});
});
// $("#divShotList").ShinyPanel({title:"Shot List"}); // this works
$("#divShotList").ShinyPanel();
$("#divShotList").title = "Shot List"; // this doesn't work
<div id="divShotList" style="position:absolute; top:5px; bottom:10px; width:250px;"></div>
有没有办法让我重载=
运算符或其他东西来使用此语法工作?我知道我可能会创建一个额外的函数,比如setProperty
或其他东西,但如果我可以保留这种语法并让它工作,那将非常酷。知道我如何修改小部件以实现这一目标吗?
元素或 jQuery 包装的元素不是你的小部件:
$("#divShotList").data('ShinyPanel')._setOption('title', 'something');
但它存储在元素的 .data() 中。
或者:
var shinyPanel = $("#divShotList").ShinyPanel().data('ShinyPanel');
shinyPanel.options.title = 'new title';
shinyPanel.refresh();
也会工作。
<小时 />最终编辑:回答你的问题:不。
相关文章:
- 这是什么 ==- javascript 运算符
- jQuery/JS包含运算符或类似运算符
- Javascript逻辑运算符和字符串/数字
- 模运算符前的双水平线
- jQuery's trim()的前缀为not运算符
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- 重载JS'firefox中的对象原型
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 如何使用排列运算符来获取具有命名参数的函数的所有参数
- JavaScript 中三元条件和逻辑和运算符的运算符优先级
- 用于验证JS中逻辑运算符表达式的正则表达式
- 什么's是相当于LINQ's SelectMany运算符
- JavaScript-===vs===运算符性能
- 在 Jquery/Javascript 中使用多个 OR (||) 运算符时如何设置变量
- 三元运算符检查多个字符串
- 调用C++中JScript中的instanceof运算符(IDispatch/IDispatchEx)
- jQuery UI 运算符重载
- Javascript:运算符重载
- 我可以重载JavaScript的索引运算符吗?
- TypeScript中的赋值运算符重载