From 88d8a409bb2afe7c66998a616840b3e746a041fc Mon Sep 17 00:00:00 2001 From: Ross Boucher Date: Tue, 5 May 2009 12:23:36 -0700 Subject: [PATCH] Enable text selection for CPTextField in Internet Explorer --- AppKit/CPTextField.j | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/AppKit/CPTextField.j b/AppKit/CPTextField.j index 2d5d539a5..92f1cdba2 100644 --- a/AppKit/CPTextField.j +++ b/AppKit/CPTextField.j @@ -82,6 +82,8 @@ var CPTextFieldDOMInputElement = nil, CPTextFieldInputResigning = NO, CPTextFieldInputDidBlur = NO, CPTextFieldInputIsActive = NO, + CPTextFieldCachedSelectStartFunction = nil, + CPTextFieldCachedDragFunction = nil, CPTextFieldBlurFunction = nil; #endif @@ -507,6 +509,16 @@ CPTextFieldStatePlaceholder = 1 << 13; [[CPDOMWindowBridge sharedDOMWindowBridge] _propagateCurrentDOMEvent:YES]; CPTextFieldInputIsActive = YES; + + if (document.attachEvent) + { + CPTextFieldCachedSelectStartFunction = document.body.onselectstart; + CPTextFieldCachedDragFunction = document.body.ondrag; + + document.body.ondrag = function () {}; + document.body.onselectstart = function () {}; + } + #endif return YES; @@ -540,6 +552,16 @@ CPTextFieldStatePlaceholder = 1 << 13; element.parentNode.removeChild(element); CPTextFieldInputIsActive = NO; + + if (document.attachEvent) + { + CPTextFieldCachedSelectStartFunction = nil; + CPTextFieldCachedDragFunction = nil; + + document.body.ondrag = CPTextFieldCachedDragFunction + document.body.onselectstart = CPTextFieldCachedSelectStartFunction + } + #endif //post CPControlTextDidEndEditingNotification