0

.clickJavaScript関数内の入力ボタンタイプに関数を追加しました。
この.Click関数は別のJavaScript関数を呼び出します。しかし、何らかの理由で、.click関数は常に呼び出されます。要素をクリックしない場合でも。
以下は私のコードです。手伝ってくれてありがとう。

function loadBook(URL) {
    alert(URL);
};

function LoadAllBooks(URL, attachPoint) {
    var title = "This is some code bad code";
    var classname = title.replace(/\s/g, "");
    var htmlString = '<div class="' + classname + '"><input type="button" value="' + title + '"></div>';
    $(htmlString).appendTo(attachPoint).click(loadBook(URL));
};

attachPointは、次の行で取得されるHTMLの参照です。

 var attachpoint=document.querySelector('.buttonAttachPoint');
4

1 に答える 1

7

簡単な間違い。(URL)そこにパラメーターを含めることで、クリックハンドラーとしてloadBook提供するのではなく、実際に関数をすぐに呼び出すことになります。loadBook

あなたがする必要があることはもっと似ています:

$(htmlString).appendTo(attachPoint).click( function(){ loadBook(URL) } );

loadBookを直接実行するのではなく、loadBookを実行する無名関数を作成します。

于 2013-03-27T02:24:40.680 に答える