jquery easyui二次開發總結(二)

2022-04-29 06:39:07 字數 3515 閱讀 1453

1

//tab增加「關閉所有頁」和「關閉非當前頁」的功能

2 $("#tabs").tabs();;9}

10});

1112 $("#closeallbtn").bind("click",function

()22

}

23});

2425 $("#closenotcurrbtn").bind("click",function

()37

} 38 $tabs.tabs('select', curtitle);

39 });

html增加menu:

1

<

div

id="tab_menu"

class

="easyui-menu"

style

="width:120px;"

>

2<

div

id="closeallbtn"

data-options

="iconcls:'fa fa-times-circle-o red'"

>關閉所有頁

div>

3<

div

id="closenotcurrbtn"

data-options

="iconcls:'fa fa-minus-circle red'"

>關閉非當前頁

div>

4div

>

這個easyui自身的bug當時在除錯解決時為了找到問題所在,花了不少時間。

方法是修改datagrid中renderrow方法的原始碼:

1 renderrow:function

(_698,_699,_69a,_69b,_69c)

9 cc.push(""+_69d+"

");10}11

for(var i=0;i<_699.length;i++)25}

26 }else

2930

var css=col.styler?(col.styler(_69f,_69c,_69b)||""):"";

31var _6a0="";

32var _6a1="";

33if(typeof css=="string")else40}

41var cls=_6a0?"class=\""+_6a0+"\"":"";

42var _6a2=col.hidden?"style=\"display:none;"+_6a1+"\"":(_6a1?"style=\""+_6a1+"\"":"");

43 cc.push("");

44if

(col.checkbox)else

51if(!opts.nowrap)else57}

58}59 cc.push(");

60 cc.push(col.checkbox?"class=\"datagrid-cell-check\"":"class=\"datagrid-cell "+col.cellclass+"\"");

61 cc.push(">");

62if

(col.checkbox)else

else70}

71 cc.push("

");72 cc.push("");73}

74}75return cc.join("");

76 }

easyui原始碼只有27行,if...else是本人修改後的**。

方法:修改easyui form部分的validate方法:

1

function

_447(_44f)

13 }else

16});

1718

//過濾掉隱藏的表單項

19var _450=t.find(".validatebox-invalid:not(:hidden)");

2021 _450.filter(":not(:disabled):first").focus();

22return _450.length==0;23}

24return

true

;25 };

方法:修改datagrid滑鼠經過事件mouseover部分的**。

關鍵點:內容超出td範圍的判斷。

1 dc.body1.add(dc.body2).unbind().bind("mouseover",function

(e)5

var tr=$(e.target).closest("tr.datagrid-row");67

//2015-04-09 **內容如果超出td的邊界,則用tooltip展示

8var div = $(e.target).closest("div.datagrid-cell");

9if(div[0] !=undefined));21}

22 }).tooltip("show");23}

24}2526

if(!_53a(tr))

29var _53b=_53c(tr);

30_58d(_52c,_53b);

31e.stoppropagation();

32 })

方法:在combotree中重寫combo元件中的keyhandler物件的query方法。

1 $.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,6}

7 });

_findnode查詢對應節點:

//

2015-5-26

function

_findnode(t, value);

_selectnode($tree,searchinfo);

}function

_matchnodes(nodetree,matchvalue,matchs)

_matchnodes(children[i], matchvalue, matchs);}}

}function

_selectnode($tree,searchinfo)

}}

這裡會用到乙個得到中文首字母的解決方案:

var chineseutil =

//處理arrresult,返回所有可能的拼音首字母串陣列

return

_mkrslt(arrresult);

function

_checkch(ch)

function

_mkrslt(arr)

}else

//把複製並修改後的陣列連線到arrrslt上

arrrslt =arrrslt.concat(tmp);}}

}return

arrrslt;}}

};

jquery easyui二次開發總結(二)

1 tab增加 關閉所有頁 和 關閉非當前頁 的功能 2 tabs tabs 9 10 11 12 closeallbtn bind click function 22 23 24 25 closenotcurrbtn bind click function 37 38 tabs.tabs sele...

jquery easyui根據需求進行二次開發

運用easyui進行開發時新新增的個性化功能和對部分easyui自身bug的修復,由於easyui的半開源,有些還是有難度的,記錄下來方便日後需要時查閱。解決方法 給tree的iconcls傳入乙個陣列,分別是各狀態下的class css 然後要改動easyui關於tree節點組裝部分的 if it...

ArcGis二次開發ArcEngine開篇

以一款簡單gis軟體截引入本篇內容 萬事開頭難,如何利用arcengine開發一款gis產品呢?一款簡單的gis軟體基本布局如上圖所示,共劃分為六個區域,分別是選單欄區,工具欄區,地圖 圖層樹管理區,地圖 圖層顯示區以及布局 製版 區。這幾個布局區域都是用arcengine提供的控制項實現的 除選單...