簡體   English   中英

動態創建的按鈕會自動觸發

[英]Dynamically created button gets automatically fired

我正在創建動態無序自定義列表視圖。 在每個元素中,都有一個按鈕。 我通過以下方式創建列表元素:

for (i = 0; i < arrayID.length; i++) {
    var listElement = '<li class="has-form">' +
        '<div class="row collapse">' +
        '<div class="small-1 columns" style="margin: 5px">' +
        '<img src="image/twitter.png">' +
        '</div>' +
        '<div class="small-6 columns small-only-text-center">' +
            '<p>' +
                '<i>' + arrayText[i] + '</i>' +
            '</p>' +
        '</div>' +
        '<div class="small-3 columns">' +
            '<button type="button" class="large-10" onclick="' + onClickViewButton() + '">view</button>' +
        '</div>' +
        '<div class="small-1 columns">' +
            '<input id="checkbox1" type="checkbox">' +
            '</div>' +
        '</div>' +
    '</li>';
    $("#myList").append(listElement);
}

單擊按鈕的代碼是:

function onClickViewButton() {
    alert('hello');
}

但是不幸的是,在頁面加載時,按鈕單擊被觸發,無法進行實際的按鈕單擊。 請幫忙。

您在哪里:

onclick="'+onClickViewButton()+'"

您需要具備:

onclick="onClickViewButton()"

代替。

您當前的代碼在聲明中調用onClickViewButton函數,而您真正想要做的只是將其用作函數引用,以便稍后在onclick上調用它。

嘗試使用以下代碼段:

如果將函數名稱與括號連接,則將其視為函數執行,因此將調用函數。

for (i = 0; i < arrayID.length; i++) {
  var listElement = '<li class="has-form">' +
    '<div class="row collapse">' +
    '<div class="small-1 columns" style="margin: 5px">' +
    '<img src="image/twitter.png">' +
    '</div>' +
    '<div class="small-6 columns small-only-text-center">' +
    '<p>' +
    '<i>' + arrayText[i] + '</i>' +
    '</p>' +
    '</div>' +
    '<div class="small-3 columns">' +
    '<button type="button" class="large-10" onclick="onClickViewButton()">view</button>' +
    '</div>' +
    '<div class="small-1 columns">' +
    '<input id="checkbox1" type="checkbox">' +
    '</div>' +
    '</div>' +
    '</li>';
  $("#myList").append(listElement);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM