0

質問がすでに出されているかどうかはわかりませんが、実際の例があるので、私の質問が役立つことを願っています. ここにjQuery用のカスタムプラグインがあります:

(function($){
    jQuery.alertSay = function(options){
        var options = $.extend({say:'open'}, options};
        alert('We are currently ' + say + '!');
    };
})(jQuery);

メインの index.html に接続:

$(document).ready(function() {
    $.alertSay({
        say: 'on vacations'
    });
});

次のように、オプションなしで単純な方法を使用すると、オプションが原因で機能しません。

(function($){
    jQuery.alertSay = function(){
        alert('We are currently on vacations!');
    };
})(jQuery);

次のようなリンクで問題なく動作します。

$(document).ready(function() {
    $.alertSay();
});

jQuery の知識が乏しいため、自分の間違いがどこにあるかを検出できません。可能であれば、助けていただければ幸いです。ありがとうございました!

UPD: ご返信いただきありがとうございます。残念ながら交換させていただきます

alert('We are currently ' + say + '!');

alert('We are currently ' + options.say + '!');

何も変更せず、アラートもまったくありません。しかし、私はいくつかのエラーがあります:

Uncaught SyntaxError: Unexpected token } hallo.js:3
Uncaught TypeError: Object function (a,b){return new p.fn.init(a,b,c)} has no method 'alertSay' (in the html on string $.alertSay({)
4

2 に答える 2