簡體   English   中英

jquery不會解雇這個事件

[英]jquery wont fire the event

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<script type="text/javascript" src="jquery.js"></script>


  <script type="text/javascript">

  function buttonClicked(e)
  {

    alert(e.data.color);  
  }

 jQuery('#but1').bind('click',{color:'red'},buttonClicked);
  jQuery('#but2').bind('click',{color:'blue'},buttonClicked);
</script>
</head>



<body>

<br/><br/><br/><br/>
    <div align="center">
    <form action="" method="get">

    <input id="but1" type="button"  value="Red" />
    <input id="but2" type="button" value="Blue" />
    </form>
    </div>


</body>
</html>

點擊時沒有觸發警報。為什么?

您將腳本放在上面定義元素的位置,因此當代碼執行時,沒有任何內容可以綁定。 最簡單的解決方案是僅在文檔准備好時執行腳本。

jQuery(function($) {
    $('#but1').bind('click',{color:'red'},buttonClicked);
    $('#but2').bind('click',{color:'blue'},buttonClicked);
}

這有效:

function buttonClicked(e) {
    alert(e.data.color);  
}

$(document).ready(function(){
    jQuery('#but1').bind('click',{color:'red'},buttonClicked);
    jQuery('#but2').bind('click',{color:'blue'},buttonClicked);
});

http://jsfiddle.net/RTXxY/

暫無
暫無

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

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