0

関数の一部を適切にラップします。このために、jQueryアプローチを使用します。多くのメソッドを持つjQueryのように

$.parseJson()
$.ajax()
$("div").text("hey my testing");

両方のメソッドが同じjQueryファイルに存在します。しかし、jqueryプラグインの作成方法について読んでいる間、同じプラグイン内に複数の関数を作成する必要がないことが指定されています。代わりに、メソッド名を文字列として含む引数を渡します。

それで、以下のスニペットは正しいですか、それともいくつかの修正を加える必要がありますか?

<script type="text/javascript">
    (function ($) {
        $.fn.testMethod1 = function () {
            return $(this).each(function () { });
        };
        $.fn.testMethod2 = function () {
            return $(this).each(function () { });
        };
        $.test = function () {
            return "testresult"
        };
    })(jQuery);

    $("div1").testMethod1();
    $("div2").testMethod2();
    $.test();

    //Is that needed to be replace in a different way like
    $("div1").myPlugin("testMethod1");
    $("div1").myPlugin("testMethod2");
    $("div1").myPlugin("test");


</script>
4

2 に答える 2

1

jqueryボイラープレートを使用してみてください。jQueryプラグインの開発の研究を始めるのは良いポイントです。これは、プラグインを作成するための安全で(そう思われる)優れたソリューションを提供します。彼らはあなたの2番目の方法を使ってメソッドを呼び出します。

于 2013-03-08T06:38:59.317 に答える
1

2 番目の方法は、jQuery オブジェクトの名前空間を保持するため、推奨されます。

これについては、jQuery の公式ドキュメントを参照してください: Plugins/Authoring

于 2013-03-08T05:14:09.030 に答える