Opened 14 years ago

Closed 13 years ago

Last modified 13 years ago

#4773 closed bug (fixed)

Enable text selection in Internet Explorer

Reported by: stakach Owned by:
Priority: major Milestone: 1.8
Component: ui.core Version: 1.7.2
Keywords: Internet Explorer IE Text Selection Draggable Cc:
Blocked by: Blocking:

Description

Currently (Unlike all other browsers) there is no way to select text in draggable objects in internet explorer even if a handle is provided.

This is caused by two pieces of code.

Firstly: (This code should be removed)

in $.ui.mouse -> mouseInit
// Prevent text selection in IE
if ($.browser.msie) {
	this._mouseUnselectable = this.element.attr('unselectable');
	this.element.attr('unselectable', 'on');
}

Secondly: (These functions require the last line of code to be added)

in $.fn.extend

enableSelection: function() {
	return this
		.attr('unselectable', 'off')	//Not sure if needed now
		.css('MozUserSelect', '')
		.unbind('selectstart.ui');
		.unbind('selectstart.disableTextSelect');	//ie select enable
},

disableSelection: function() {
	return this
		.attr('unselectable', 'on')	//Not sure if needed now
		.css('MozUserSelect', 'none')
		.bind('selectstart.ui', function() { return false; })
		.bind('selectstart.disableTextSelect', function() { return false; }); //ie select disable
},

What do people think? Works for me.

Attachments (1)

ie select fix.patch (1.3 KB) - added by stakach 14 years ago.
IE selection patch

Download all attachments as: .zip

Change History (7)

comment:1 Changed 14 years ago by stakach

Tested in Firefox 3.5, IE 6-7-8, Chrome, Safari 4 for windows with no issues

Changed 14 years ago by stakach

Attachment: ie select fix.patch added

IE selection patch

comment:2 Changed 13 years ago by Jörn Zaefferer

Milestone: TBD1.8
Priority: minormajor

Looks good.

comment:3 Changed 13 years ago by stakach

Thanks. I'm using this patch with a web application for sydney university and everything is working perfectly.

Also there are no syntax errors in the patch unlike my description. :)

comment:4 Changed 13 years ago by Jörn Zaefferer

I don't see why you bind the selectstart event twice. Though removing the $.browser.msie check from mouseInit definitely makes a difference. I have no idea why that is there anyway.

comment:5 Changed 13 years ago by stakach

Yeah - I'm using selectables, resizables and draggables without problems. Second bind is not needed.

This is my first jQuery project, been using script.aculo.us, and wasn't sure about event namespaces.

comment:6 Changed 13 years ago by Scott González

Resolution: fixed
Status: newclosed

Fixed in r3546. Thanks stakach.

Note: See TracTickets for help on using tickets.