Mercurial > defr > drupal > scald > dnd
view js/jquery.fieldselection.js @ 35:abc9d39cfbe9
Switch the trigger from mouseover to click.
MouseOver is problematic if people want to interact with the content of the
popup, for example to click the play button of an swf player.
author | Franck Deroche <franck@defr.org> |
---|---|
date | Fri, 18 Sep 2009 15:11:03 +0200 |
parents | bb68dc3ad56f |
children |
line wrap: on
line source
/* * jQuery plugin: fieldSelection - v0.1.0 - last change: 2006-12-16 * (c) 2006 Alex Brem <alex@0xab.cd> - http://blog.0xab.cd */ (function() { var fieldSelection = { getSelection: function() { var e = this.jquery ? this[0] : this; return ( /* mozilla / dom 3.0 */ ('selectionStart' in e && function() { var l = e.selectionEnd - e.selectionStart; return { start: e.selectionStart, end: e.selectionEnd, length: l, text: e.value.substr(e.selectionStart, l) }; }) || /* exploder */ (document.selection && function() { e.focus(); var r = document.selection.createRange(); if (r == null) { return { start: 0, end: e.value.length, length: 0 } } var re = e.createTextRange(); var rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return { start: rc.text.length, end: rc.text.length + r.text.length, length: r.text.length, text: r.text }; }) || /* browser not supported */ function() { return { start: 0, end: e.value.length, length: 0 }; } )(); }, replaceSelection: function() { var e = this.jquery ? this[0] : this; var text = arguments[0] || ''; return ( /* mozilla / dom 3.0 */ ('selectionStart' in e && function() { e.value = e.value.substr(0, e.selectionStart) + text + e.value.substr(e.selectionEnd, e.value.length); return this; }) || /* exploder */ (document.selection && function() { e.focus(); document.selection.createRange().text = text; return this; }) || /* browser not supported */ function() { e.value += text; return this; } )(); } }; jQuery.each(fieldSelection, function(i) { jQuery.fn[i] = this; }); })();