ただし、ブラウザーとの互換性はあります。IE6 および Firefox3.5 との互換性がテストされています。
まず autocomplate.js を見てください:
;(function ($) {
var) Index = - 1;
var timeId;
var cssOptions = {
"border": "1px 単色黒",
"background-color": "白"、
"位置" : "absolute" "/*,
"font": "normal Normal Lighter 14px 6px Times New Roman"*/
};
var defaults = {
width: "auto",
highlightColor: " #3399FE"、
unhighlightColor: "#FFFFFF"、
css: cssOptions、
dataType: "xml"、
paramName: "word"、
遅延: 500、
最大 : 20
};
var キー = {
UP: 38、
DOWN: 40、
DEL: 46、
TAB: 9、
ENTER : 13、
ESC: 27、
/*COMMA: 188、*/
PAGEUP: 33、
PAGEDOWN: 34、
BACKSPACE: 8、
A: 65、
Z: 90
};
$.fn.extend({
autocomplete: function (sUrl, settings) {
sUrl = (typeof sUrl === "string") ? sUrl : "";
var param = !this.attr("id") ?defaults.paramName : this.attr("id");
設定 = $.extend({}, デフォルト, {url: sUrl) , paramName: param }, settings);
var autoTip = this.autoTipTemplate(this, settings);
$this = this; >this.keyup (関数 (イベント) {
$this.keyOperator(event, autoTip, settings);
});
/*$("input[type=button]").click( function () {
$("#result").text("[" search.val() "] テキスト ボックスが送信されました。");
$("#auto").hide();
index = - 1;
});*/
return this.each(function () {
$ this.val();
});
},
autoTipTemplate: 関数 (入力、設定) {
var inputOffset = input.offset(); ").css(settings.css).hide()
.css("top", inputOffset.top input.height() 5 "px")
.css("left ", inputOffset.left "px");
var space = $.browser.mozilla ? 2 : 6;//兼容浏览器
vartipWidth = (typeof settings.width === "string" && " auto") ? input.width() : settings.width;
autoTip.width(tipWidth space "px");
return autoTip;
},
select: function (target,index, settings, flag) {
var color = flag ? settings.unhighlightColor :
target.children("div").eq(index).css("background-color", color); 🎜>},
keyOperator: function (event, autoTip, settings) {
var evt = event ||
var autoNodes = autoTip.children("div"); kc = evt.keyCode;
var $this = this;
/*当用户按下字母または是退格键*/
if (kc >=keys.A && kc < ;= キー.Z || kc == key.BACKSPACE || kc == key.DEL) {
var wordText = this.val();
if (wordText.length != 0) {
var param = {};
param[settings.paramName] = wordText;
clearTimeout(timeId);
timeId = setTimeout(function () {
$.post(settings.url, param, function (data) {
var wordObj = $(data);
if (settings.dataType == "xml") {
var wordNodes = wordObj.find("word");
autoTip.html("");
wordNodes.each(function (i) {
var divNode = $ ("
// 遍歴のメソッドを作成した div に追加し、その後その div を auto に追加します
divNode.html($ (this).text()).appendTo(autoTip);
//鼠标已进去,追加高亮
divNode.mousemove(function () {
//如果已经存在高亮,去掉高白色に変更
if (index != -1) {
autoTip.children("div").eq(index).css("background-color", settings.unhighlightColor);
index = $(this).attr("id");
$(this).css("background-color", settings.highlightColor)
// ネズミ标移出,取消高亮
divNode.mouseout(function () {
$(this).css("background-color", settings.unhighlightColor);
});明るい内容
divNode.click(function () {
$this.val($(this).text());
index = -1;
autoTip.hide();
});
});
if (wordNodes.length > 0) {
autoTip.show();
}インデックス = -1;
}
}
});
}、設定.遅延);
} else {
autoTip.hide();
インデックス = -1;
}
} else if (kc ==keys.UP || kc ==keys.DOWN) {/*当用户按下上下键*/
if (kc ==keys.UP) { //向上
if (index != -1) {
autoNodes.eq(index).css("background-color", settings.unhighlightColor);
インデックス--;
} else {
index = autoNodes.length - 1;
}
if (index == -1) {
index = autoNodes.length - 1;
}
autoNodes.eq(index).css("background-color", settings.highlightColor);
} else {//向下
if (index != -1) {
autoNodes.eq(index).css("background-color", settings.unhighlightColor);
}
インデックス ;
if (index == autoNodes.length) {
index = 0;
}
autoNodes.eq(index).css("background-color", settings.highlightColor);
}
} else if (kc ==keys.PAGEUP || kc ==keys.PAGEDOWN) {
event.preventDefault();
if (kc ==keys.PAGEUP) {
if (index != -1) {
autoNodes.eq(index).css("background-color", settings.unhighlightColor);
}
if (autoNodes.length > 0) {
index = 0;
autoNodes.eq(0).css("背景色", settings.highlightColor);
}
} else {
if (index != -1) {
autoNodes.eq(index).css("background-color", settings.unhighlightColor);
}
インデックス = autoNodes.length - 1;
autoNodes.eq(index).css("背景色", settings.highlightColor);
}
} else if (kc ==keys.ENTER) {
//回车键
//有高亮内容就补全情報
if (index != -1 ) {
$this.val(autoNodes.eq(index).text());
} else {//没有就隐藏
$("body").append($("").text("文本框中的【" $this.val() "]));
$this.get(0).blur();
}
autoTip.hide();
インデックス = -1;
} else if (kc == key.ESC) {
autoTip.hide();
}
}
});
})(jQuery);
上の自動コンプレート ツールのいくつかの常用オプション:
index は選択提案の高輝度インデックスです。
timeId は、テキスト フィールドの入力時に使用され、setTimeout を使用します。 ajax 要求サービスがデータを取得する一方で返される時間;
cssOptions は自動的に提案される形式であり、ここではいくつかの考慮事項が示されています;
复制番号
代码如下:
var defaults = {
width: "auto",//デフォルトまたは自動的に設定される幅
highlightColor: "#3399FE",//ハイライト時の色
unhighlightColor: "# FFFFFF" ,//強調表示されていないときの色
css: cssOptions,
dataType: "xml",//Ajax リクエストの戻りデータ型
paramName: "word",//Ajax リクエスト パラメータ名、設定した場合テキスト フィールドの ID を指定し、この属性を使用します。
delay: 500, //テキスト フィールドが連続的に入力される場合、Ajax がサーバーにリクエストする頻度
autocomplete は、ajax リクエストの URL を設定し、上記のデフォルトに表示されるパラメータを設定できる関数です。このメソッドはテキスト フィールドの値を返します。 🎜 >autoTipTemplate は入力時に表示されるプロンプト ボックスとプロンプト メニューであり、jquery オブジェクトを返します。
select はプロンプト メニューの強調表示されたオプションである選択プロンプト メニューです。ターゲットはもちろんターゲット オブジェクトです。インデックスはハイライトされるものです。明るいオプションの設定のインデックスは、デフォルトに含まれる
ハイライト カラー設定です。デフォルト オブジェクトのプロパティは、$.extend メソッドを通じて設定オブジェクトに割り当てられます。
keyOperator は、テキスト フィールドのキーボード操作です。これは、
の操作プロンプトに依存します。以下を参照してください。HTML コードを見て、オートコンプレート プラグインがどのように呼び出されるかを確認してください。
="hoojo_@126.com ">
/javascript" src="jslib /jquery-1.3.2.min.js">
> ;
;input type="text" />
🎜>
このコードを見てください。 AutocomplataWordServlet は、Ajax リクエスト サーバーによって返されるデータのタイプであり、自動プロンプト メニューの幅を設定できます。 。
使い方は比較的簡単です。もちろん、後で他の構成を追加することもできます。
コード スニペット
コードをコピー
コードは次のとおりです。 :
これも可能です。
AutocomplataWordServlet のコードを見てください:
コードをコピーします
コードは次のとおりです:
request.setAttribute("word",
); //System.out.println(word) ;
request.getRequestDispatcher("word.jsp").forward(request, 応答)
}
public void doPost(HttpServletRequest request, HttpServletResponse response); 🎜>throws ServletException, IOException {
doGet(リクエスト, レスポンス)
}
}
;
何も言う必要はありません。クライアントのテキストフィールドで ajax リクエストのキーワードを取得し、jsp ページで単語フィルタリングを実行するだけです。ただし、クライアントで通常の
を使用したり、サーバーで通常のフィルタリングを使用したりすることもできます。
以下の word.jsp の内容を見てください:
/単語> ;/c:if> ;
出現単語> /c:if>
/単語> c:if>
🎜>
>
は、jstl 形式のドキュメントを使用し、startsWith 関数と一致させると、xml コンテンツに表示され、上記の contentType="text/" が表示されます。 xml; charset=UTF-8"? text/xml です!ブラウザによっては、設定されていないと解析できない場合があることに注意してください。
著者: hoojo
ブログ: http://blog.csdn.net/IBM_hoojo

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









