@@ -343,7 +343,7 @@ public void run() {
343343}
344344};
345345for (int i =0 ;i <anchors .length ;i ++) {
346- anchors [i ].href ="#" ;
346+ anchors [i ].href =OS . isIE ? "#" : "#" ;
347347anchors [i ].target ="_self" ;
348348Clazz .addEvent (anchors [i ],"click" ,hLinkSelectionHandler );
349349Clazz .addEvent (anchors [i ],"dblclick" ,hLinkSelectionHandler );
@@ -539,7 +539,7 @@ String parse (String string, Object handle) {
539539}
540540if (anchor !=null ) {
541541if ("#" .equals (ids [linkIndex ])) {
542- anchor .href ="#" ;
542+ anchor .href =OS . isIE ? "#" : "#" ;
543543anchor .target ="_self" ;
544544}else {
545545anchor .href =ids [linkIndex ];
@@ -843,8 +843,34 @@ public void setText (String string) {
843843text =string ;
844844textSizeCached =false ;
845845anchors =new Element [0 ];
846+
847+ if (hLinkSelectionHandler !=null ) {// already hook
848+ // try to unhook it before clear all childNodes
849+ for (int i =0 ;i <anchors .length ;i ++) {
850+ Element anchor =anchors [i ];
851+ Clazz .removeEvent (anchor ,"click" ,hLinkSelectionHandler );
852+ Clazz .removeEvent (anchor ,"dblclick" ,hLinkSelectionHandler );
853+ if (ids !=null ) {
854+ if ("#" .equals (ids [i ])) {
855+ anchor .href =OS .isIE ?"#" :"#"diff-383c03855dd2e58a02cb293978464bd933301cc778ed8974d28c772abc1da512-845-856-0" data-selected="false" role="gridcell" tabindex="-1" valign="top">
856+ anchor .target ="_self" ;
857+ }else {
858+ anchor .href =ids [i ];
859+ anchor .target ="_blank" ;
860+ }
861+ }
862+ }
863+ }
846864OS .clearChildren (handle );
847865parse (string ,handle );
866+ if (hLinkSelectionHandler !=null ) {
867+ for (int i =0 ;i <anchors .length ;i ++) {
868+ anchors [i ].href =OS .isIE ?"#" :"#"diff-383c03855dd2e58a02cb293978464bd933301cc778ed8974d28c772abc1da512-847-869-0" data-selected="false" role="gridcell" tabindex="-1" valign="top">
869+ anchors [i ].target ="_self" ;
870+ Clazz .addEvent (anchors [i ],"click" ,hLinkSelectionHandler );
871+ Clazz .addEvent (anchors [i ],"dblclick" ,hLinkSelectionHandler );
872+ }
873+ }
848874/*
849875if (OS.COMCTL32_MAJOR >= 6) {
850876TCHAR buffer = new TCHAR (getCodePage (), string, true);
@@ -891,7 +917,7 @@ void unhookSelection() {
891917Clazz .removeEvent (anchor ,"dblclick" ,hLinkSelectionHandler );
892918if (ids !=null ) {
893919if ("#" .equals (ids [i ])) {
894- anchor .href ="#" ;
920+ anchor .href =OS . isIE ? "#" : "#" ;
895921anchor .target ="_self" ;
896922}else {
897923anchor .href =ids [i ];