Javascript jquery不会触发事件 测试 功能按钮勾选(e) { 警报(如数据、颜色); } jQuery('#but1').bind('click',{color:'red'},buttonClicked); jQuery('#but2').bind('click',{color:'blue'},buttonClicked);
单击时不会触发警报。这是为什么?您将脚本放置在定义元素的位置上方,因此当代码执行时,没有任何可绑定的内容。最简单的解决方案是仅在文档准备就绪时执行脚本Javascript jquery不会触发事件 测试 功能按钮勾选(e) { 警报(如数据、颜色); } jQuery('#but1').bind('click',{color:'red'},buttonClicked); jQuery('#but2').bind('click',{color:'blue'},buttonClicked);,javascript,jquery,html,Javascript,Jquery,Html,单击时不会触发警报。这是为什么?您将脚本放置在定义元素的位置上方,因此当代码执行时,没有任何可绑定的内容。最简单的解决方案是仅在文档准备就绪时执行脚本 <!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/xht
<!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);
}
因为如果在元素落下之前在标记中设置了单击处理程序,则您正在选择的元素还不可用。当解析页面时,元素对DOM可用<代码>$(文档).ready()等待页面完全解析并准备就绪。请查看文档中的
ready()
函数:
function buttonClicked(e) {
alert(e.data.color);
}
$(document).ready(function(){
jQuery('#but1').bind('click',{color:'red'},buttonClicked);
jQuery('#but2').bind('click',{color:'blue'},buttonClicked);
});