2016-12-02 124 views
-1

我有一個功能,點擊後,會創建2個按鈕。循環外事件

$(document).ready(function() { 
    $('#Refresh').on('click', basket()); 

    function basket(){ 
     var duplicate = document.createElement('button'); 

     // Write the text for button 
     var duplicate_text = document.createTextNode("Duplicate"); 
     duplicate.appendChild(duplicate_text); 

     $(document.body).append(duplicate); 

     // Create display button 
     var display = document.createElement('button'); 

     // Write the text for button 
     var display_text = document.createTextNode("Display"); 
     display.appendChild(display_text); 

     $(document.body).append(display); 

    } 

    }); 

它的工作原理是如果整個籃子功能在.on函數中。但是,當我像上面那樣取出它時,它停止工作。

這裏有什麼問題?這是關於我缺乏回報嗎?

+1

刪除'()'在'.on'聲明..所以'$( '#刷新')上( '點擊',籃子);' – haxxxton

+1

這個真。需要被標記爲_something_ – cwallenpoole

+0

@cwallenpoole的副本 - 尋找*東西*但找不到它:p –

回答

0

你可以返回函數如下圖所示

$(document).ready(function() { 
 
    $('#Refresh').on('click', basket); 
 

 
    function basket(){ 
 
     var duplicate = document.createElement('button'); 
 

 
     // Write the text for button 
 
     var duplicate_text = document.createTextNode("Duplicate"); 
 
     duplicate.appendChild(duplicate_text); 
 

 
     $(document.body).append(duplicate); 
 

 
     // Create display button 
 
     var display = document.createElement('button'); 
 

 
     // Write the text for button 
 
     var display_text = document.createTextNode("Display"); 
 
     display.appendChild(display_text); 
 

 
     $(document.body).append(display); 
 

 
} 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" id="Refresh" value="Refresh"/>

0

要調用basket()過早,在click方法。不要叫basket

$('#Refresh').on('click', basket); 
// Note basket has no parens, because we are not calling it.