2017-01-30 75 views
-1

執行這段代碼會產生什麼問題?使用普通的javascript和jquery調用同一個函數兩次,同時

function function1() { 
 
    $(document).ready(function() { 
 
    $("#button").click(function() { 
 
     $("button").hide(); 
 
    }); 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id='button' onclick='function1()'>Okay</button>

+0

*「...使用javascript和jquery,在同一時間?」*沒有任何意義。 jQuery是一個函數庫,而不是一種語言。除非您使用TypeScript或CoffeeScript或其他東西,否則當您使用jQuery時,您正在使用JavaScript。 –

+1

@Mos - 請允許我們編輯你的問題 - 尤其是當你有格式和錯字問題 – mplungjan

+2

把一個document.ready放在你點擊執行的函數中也沒有任何意義 – mplungjan

回答

2

可以從執行這段代碼出現什麼問題?

在這種特殊情況下?這會讓用戶感到困惑和沮喪。您的代碼會等待用戶單擊按鈕,然後再連接第二個點擊處理程序。然後當用戶點擊按鈕時,該按鈕將消失。這可能是最好的,不過,因爲如果它不消失,但沒有別的東西代替,每按一下會讓它做的事情之一,更多的時間:

  • 首先點擊=似乎什麼也沒有發生
  • 第二次點擊=事情發生一次
  • 第三次點擊=事情發生兩次
  • 第四點擊=的事情發生了三次

...因爲你不斷加入更多的點擊處理程序。

挑一個。無論是使用DOM0 onxyz -attributes,還是將你的處理程序與現代事件處理(通過jQuery或不是,這取決於你)掛鉤。後者通常是一個更好的主意。

+0

哦好吧謝謝說明。我知道它會迭代。 –