3

私はこのような基本的なテーブルを持っています:

<table>
    <tbody>
        <tr>
            <td>Column 1</td>
            <td>Column 2</td>
        </tr>
    </tbody>
</table>

行には、jQueryを使用したダブルクリック関数があります。

$('tr').live('dblclick',function(){
    dosomething();
    return false;
});

行でmousedown/up関数を使用するtabledndというプラグインもあります。ダブルクリックすると、セルでテキストが選択されます。

どうすればこれを防ぐことができますか?

4

2 に答える 2

11

select()イベントは入力要素に限定されているため、使用できません。

代わりにpreventDefault()、イベントに挑戦してくださいselectstart...

$('tr').bind('selectstart', function(event) {
    event.preventDefault();
});

jsFiddle

または、CSSを使用することもできます...

tr {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
于 2011-04-10T11:16:38.600 に答える
0

変更してみてください

$('tr').live('dblclick',function(){
    dosomething();
    return false;
});

$('tr').live('dblclick',function(e){
    e.preventDefault();
    dosomething();
    return false;
});

これにより、ブラウザがデフォルトで実行することをダブルクリックで実行できなくなります。ただし、このコードをすべてのブラウザでテストする必要がありますが、どこでも機能するかどうかはわかりません。

于 2011-04-10T11:16:37.613 に答える