0

チームメイトから次のコードがあります

/*jslint browser: true*/
/*jslint vars: true */
/*global $, jQuery*/
/*global dialog*/

function accessControls() {
    "use strict";

    $('#loginLink, #registerLink').click(function (e) {
        e.preventDefault();
        if ($(this).data("disabled") === "false") {
            $("a.accessLink").data("disabled", "true");
            dialog(this);
        }
    });

}

HTMLは次のとおりです。

<a  class="button accessLink"
            id="loginLink"
            href="#"
            data-action="Login"
            data-dialog="access"
            data-disabled="false"
            data-entity="n/a"
            data-href="/MyAccount/Access/Login"
            title="Login">Login</a>

Chromeブラウザに次のようなメッセージが表示されます。UncaughtSyntaxError:UnexpectedtokenILLEGAL。メッセージは、上記のコードの最後のセミコロンの直後に表示されます。誰かが何が悪いのか考えていますか?

行ダイアログをコメントアウトすると、機能することに注意してください。それで、これは「これ」と関係がありますか?

4

1 に答える 1

1

ブール変数に等式演算子(===)を使用する場合は、文字列としてfalseを渡す必要はありません。

if($(this).data("disabled") === "false"){
// some code
}

で変更する必要があります

if($(this).data("disabled") === false) {
// some code 
}

とにかく、あなたがコードを投稿することができれば、それをラップしているものはよりよく理解されるでしょう。

そして、dialog()を呼び出しているjQueryオブジェクトはどれですか?

于 2012-09-27T05:28:53.533 に答える