From 32feb309dc59ca50757431d627db7437c0e29073 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sat, 2 Sep 2006 04:02:56 +0000 Subject: Fixed #211 --- framework/Web/Javascripts/extended/event.js | 17 +++++++++++++---- framework/Web/Javascripts/js/compressed/prado.js | 7 +++++-- framework/Web/Javascripts/js/debug/prado.js | 18 ++++++++++++++---- framework/Web/Javascripts/prado/controls.js | 1 + 4 files changed, 33 insertions(+), 10 deletions(-) (limited to 'framework/Web/Javascripts') diff --git a/framework/Web/Javascripts/extended/event.js b/framework/Web/Javascripts/extended/event.js index 4fd041d8..e464fa94 100644 --- a/framework/Web/Javascripts/extended/event.js +++ b/framework/Web/Javascripts/extended/event.js @@ -82,10 +82,19 @@ Object.extend(Event, } else if(Event.isMouseEvent(type)) { - var event = document.createEvent('MouseEvents'); - event.initMouseEvent(type,true,true, - document.defaultView, 1, 0, 0, 0, 0, false, - false, false, false, 0, null); + var event = document.createEvent('MouseEvents'); + if (event.initMouseEvent) + { + event.initMouseEvent(type,true,true, + document.defaultView, 1, 0, 0, 0, 0, false, + false, false, false, 0, null); + } + else + { + // Safari + // TODO we should be initialising other mouse-event related attributes here + event.initEvent(type, true, true); + } } element.dispatchEvent(event); } diff --git a/framework/Web/Javascripts/js/compressed/prado.js b/framework/Web/Javascripts/js/compressed/prado.js index 1ec69786..f2df6bf3 100644 --- a/framework/Web/Javascripts/js/compressed/prado.js +++ b/framework/Web/Javascripts/js/compressed/prado.js @@ -128,7 +128,10 @@ return element.submit();if(document.createEvent) {if(Event.isHTMLEvent(type)) {var event=document.createEvent('HTMLEvents');event.initEvent(type,true,true);} else if(Event.isMouseEvent(type)) -{var event=document.createEvent('MouseEvents');event.initMouseEvent(type,true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);} +{var event=document.createEvent('MouseEvents');if(event.initMouseEvent) +{event.initMouseEvent(type,true,true,document.defaultView,1,0,0,0,0,false,false,false,false,0,null);} +else +{event.initEvent(type,true,true);}} element.dispatchEvent(event);} else if(document.createEventObject) {var evObj=document.createEventObject();element.fireEvent('on'+type,evObj);} @@ -313,7 +316,7 @@ Event.observe(this.element,"keydown",this.handleReturnKey.bind(this));Event.obse {this.options=options;this._event=this.triggerEvent.bindEvent(this);Event.observe(options['Panel'],'keydown',this._event);},triggerEvent:function(ev,target) {var enterPressed=Event.keyCode(ev)==Event.KEY_RETURN;var isTextArea=Event.element(ev).tagName.toLowerCase()=="textarea";if(enterPressed&&!isTextArea) {var defaultButton=$(this.options['Target']);if(defaultButton) -{this.triggered=true;Event.fireEvent(defaultButton,this.options['Event']);Event.stop(ev);}}}};Prado.WebUI.TTextHighlighter=Class.create();Prado.WebUI.TTextHighlighter.prototype={initialize:function(id) +{this.triggered=true;$('PRADO_POSTBACK_TARGET').value=this.options.EventTarget;Event.fireEvent(defaultButton,this.options['Event']);Event.stop(ev);}}}};Prado.WebUI.TTextHighlighter=Class.create();Prado.WebUI.TTextHighlighter.prototype={initialize:function(id) {if(!window.clipboardData)return;var options={href:'javascript:;/'+'/copy code to clipboard',onclick:'Prado.WebUI.TTextHighlighter.copy(this)',onmouseover:'Prado.WebUI.TTextHighlighter.hover(this)',onmouseout:'Prado.WebUI.TTextHighlighter.out(this)'} var div=DIV({className:'copycode'},A(options,'Copy Code'));document.write(DIV(null,div).innerHTML);}};Object.extend(Prado.WebUI.TTextHighlighter,{copy:function(obj) {var parent=obj.parentNode.parentNode.parentNode;var text='';for(var i=0;i