13

したがって、Rails アプリに contenteditable div があり、強調表示されたときにテキストの上に小さなポップアップを表示できるようにする必要があります。現在、機能するコードがあり、強調表示されたテキストがアラートに表示されます。ただし、関数はマウスアップ時に実行されるため、div をクリックして入力または強調表示を開始すると、空のアラートがスローされます。

これが私のコードです:

function getSelected() {
            if (window.getSelection) {
                return window.getSelection();
            }
            else if (document.getSelection) {
                return document.getSelection();
            }
            else {
                var selection = document.selection && document.selection.createRange();
                if (selection.text) {
                    return selection.text;
                }
                return false;
            }
            return false;
        };
$("#content-create-partial").bind("mouseup", function(){
                var text = getSelected();
                if(text) {
                    console.log(text);
                }
                else{
                    console.log("Nothing selected?");
                };
            });

ユーザーが contentEditable div をクリックしたときに jQuery が関数を実行しないようにするにはどうすればよいですか? 実際のテキストが強調表示されたときにのみ実行したい。

4

6 に答える 6

-2

選択が空かどうかを確認するだけです:if ($.trim( text) != '') ...

于 2013-08-26T04:55:46.530 に答える