2

時間を入力するテーブルがあります。マウスオーバーは何もしていないようです。クリック、dblclick、およびフォーカスを行います。

送信するだけでなく    ENTER   、これが onblur: 送信する理由です。クリックまたはフォーカスを使用すると、フォーカスが「テキスト」になり、次に別の「テキスト」が直後に(他の場所をクリックする前に)、2番目の「テキスト」が開きます->閉じてから編集できなくなります。よろしくお願いします。Jeditable 1.4.3 の使用 onblur:submit をコメント アウトすると、テキスト ボックス エラーが表示されません。可能であれば、マウスオーバーとマウスアウトを使用して送信したいと思います。

コードはここにあります...

http://pastebin.com/7FC7pD1x

4

1 に答える 1

0

編集:最後に考えられる解決策

私は同じ問題を抱えているので、あなたが何を得ているのか理解していると思います(まだ解決策を見ていません).

私が正しく理解していれば、問題は次のとおりです。

各セルが onblur: 'submit' で jedtiable にバインドされているテーブルがある場合、1 つのセルをクリックして編集を行い、最初のセルが送信する別のセルをクリックすると、 2 番目のセルの編集を続けます。ただし、最初のセルをクリックして編集を行い、2 番目のセルをクリックして (最初のセルをぼかし、最初のセルで送信を行う)、2 番目のセルの編集を開始し、最初のセルが送信すると、2 番目のセルがぼかしイベントを受け取り、送信して閉じます。

あなたがしたいことは、最初のセルを送信して閉じ、2 番目のセルを開いて編集したままにすることです。最初のセルが送信されたときにぼかしイベントが発生する理由がわかりません。

EDIT
jeditableのハックが必要ですが、可能な解決策を見つけました。

入力ボックスにフォーカスを置く jeditable のコード ブロックに setTimeout を追加すると、問題が解決するようです。

jeditable で次の行を見つけます。

$(":input:visible:enabled:first", form).focus();

次のように変更します。

setTimeout(function() {
    $(":input:visible:enabled:first", form).focus();
}, 500);

それはうまくいくようですが、もっと良い方法があることを願っています。

于 2012-07-19T13:30:14.833 に答える