1

私はdiv隠された子供と一緒にいます。をクリックするとdiv、子の表示が切り替わります。これはうまく機能します。

ここで、ユーザーは子のテキストを選択したいと考えています。選択範囲のドラッグは機能しますが、マウスボタンを離すとすぐにdiv閉じます(inClickハンドラーのため)。

可能であればdiv、子は非常に大きくなる可能性があるため(数百行なので、までスクロールしてdiv子を切り替えるのは面倒です)、子のどこからでも閉じることができるようにしたいと思います。

IE6+およびすべての正常なブラウザで動作する必要があります。jQueryを直接使用することはできません:-(しかし、jQueryからコードをコピーできるので、jQueryに解決策がある場合は、それを複製します。

提案?

4

2 に答える 2

1

DIVの側面にトグルコントロールを設定できます。

toggle.onclick = function () { 
    if ( this.className === 'closed' ) {
        this.className = '';
        content.style.display = '';
    } else {
        this.className = 'closed';
        content.style.display = 'none';
    }
};

ライブデモ: http: //jsfiddle.net/HcVfW/

于 2011-09-27T14:43:52.287 に答える
1

window.getSelection()内部divを閉じる前に、何かが含まれているかどうかを確認することができます。

IE6の場合は、これを。に置き換えますdocument.selection

これはIEの所有物であるため、オブジェクト検出を介して使用する方法を区別する必要があることに注意してください。

作業デモ

于 2011-09-27T14:37:06.197 に答える