繁体   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