0

値を含むテーブル列があり、編集ボタンをクリックすると、列の値を含むテキストボックスが作成されます。これは、インプレース編集機能のようなものです。

var title = item.find('.co_edit_title').html("<input type='text' style='width:240px' name='title' value='" + item.find('.co_edit_title').text() + "' />");

正常に動作し、入力ボックスに指定された値が表示されます。問題は、FF、Chrome、Safariでは、テキストボックスが通常のように動作しないことです。バックスペースキーは正常に機能しますが、通常のキーボード機能は機能しません。

たとえば、Shift +矢印は文字を強調表示せず、左右の矢印キーはカーソルを左右に移動しません。上下のキーは、何らかの理由でカーソルを左右に動かします。最後に、IEでは、バックスペースキーがテキストボックスにないかのように機能することに加えて、これらの同じ問題があり、ブラウザがページに戻るようになります。

なぜこれが起こっているのかについて何か考えはありますか?

編集:以前にこれを指摘する必要がありましたが、これはすべて、すでにページにあるインラインコンテンツを表示しているFancyboxポップアップ内で発生しています。唯一の動的な部分は、列の値をテキストボックスに置き換えることです。

4

2 に答える 2

1

divにテキストボックスを追加しようとしましたが、テキストボックスは正常に機能します。ここで自分の目で確かめてください: http://jsbin.com/inapo4。item.find() が正しく機能していない可能性がありますか? 「アイテム」は単なるjQueryオブジェクトですよね?

于 2010-10-21T15:25:22.120 に答える
0

問題が見つかりました。それは Fancybox 自体にありました。イベントリスナーが原因で、矢印ナビゲーションが台無しになっています。1.3.2 で修正される予定です。

ソース

于 2010-10-21T15:59:14.967 に答える