Вероятно, лучший способ - установить на странице прослушиватель mouseup , который вызывает функцию, проверяющую выбор, например
function hasSelection() {
var selText = "";
if (document.selection) { // IE
selText = document.selection.createRange().text;
} else () { // Standards-based browsers
selText = document.getSelection();
}
// This simple example does not include legacy browsers like Netscape 4, etc.
if (selText !== "") {
return true
}
return false;
}
Вы можете изменить это, чтобы вернуть выделение и манипулировать им другими способами. Но возвращенное здесь логическое значение может определить, появляется ли ваша кнопка.
Используйте attachEvent для IE и addEventListener для Firefox, et. al, и слушайте событие mouseup.