Ticket #4773 (closed bug: fixed)

Opened 5 years ago

Last modified 4 years ago

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:
Blocking: Blocked by:

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

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

Change History

comment:1 Changed 5 years ago by stakach

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

Changed 5 years ago by stakach

IE selection patch

comment:2 Changed 4 years ago by joern.zaefferer

  • Priority changed from minor to major
  • Milestone changed from TBD to 1.8

Looks good.

comment:3 Changed 4 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 4 years ago by joern.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 4 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 4 years ago by scott.gonzalez

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in r3546. Thanks stakach.

Note: See TracTickets for help on using tickets.