-1

テキストエリアを使用するウェブサイト/タブレット html5 ウェブアプリがあります。

私の問題は、「いくつかの」javascriptコード/ライブラリ、またはテキストエリアでのval()呼び出しが誤動作することです。通常は text() で取得する値、つまりサーバー側から設定されたテキストを常に返します。このWebアプリで大量のjqueryを問題なく使用しています。

最初に確認したことは、DOM 自体が問題なく正しいことです。DOM 全体を新しい html ファイルに保存し、すべての JavaScript を削除しました。シンプルなボタンを使用して、val() でテキストエリアを読み取ることができます。

ただし、実際の Web サイトで実行された同じ読み取りコードは誤動作します。SO 他の既存の JavaScript コード/ライブラリとの依存関係があります。

サーバー側のアーキテクチャは ASP.Net Web サイトです。そのため、バックグラウンドでかなりのコードが実行されています (Scriptmanager、MS Ajax、サードパーティ コントロールなど)。

この Web サイトでは jQuery 1.4.2 を使用しています。その小さな val() 部分だけを noConflict() でローカル jQuery バージョン 1.9.1 にオーバーロードして、運の悪い古いバージョンの問題を除外しようとしました。

私は非常に抽象的であることを知っていますが、ウェブサイトは巨大なデータベースに依存しており、すべての開発は閉じたネットワーク内にあるため、リンクを提供できます.

特に val() を使用した jQuery 機能への「邪魔な」影響を知っている人はいますか?

ありがとうございました

4

3 に答える 3

0

コントロールがテキスト領域の場合は、以下のようなジェネリック メソッドを作成するか、.attr('value') を使用できます。

var m = this.val();  
return (m == "" ? this.attr('value') : m);
于 2013-03-20T10:55:57.983 に答える
0

私自身の質問に答えるために: setTimeouts とタイマーの複雑な構造を構築しました (タブレット/電話で実際の「キーボードを閉じる」イベントがないため)。これにより、テキストボックスの val() を読み取ることができなくなりました。

于 2013-04-09T07:00:40.260 に答える