该脚本元素前处理,因此#myTest
当你分配处理程序不存在。各地交换他们:
<?php
echo "<div><input type='button' value='Test' id='myTest' /></div>";
?>
<script type="text/javascript">
jQuery('#myTest').click(function(){alert('hi');}));
</script>
或者,你可以使用live()允许绑定事件,至目前还不存在的元素:
<script type="text/javascript">
jQuery('#myTest').live("click", function(){alert('hi');}));
</script>
<?php
echo "<div><input type='button' value='Test' id='myTest' /></div>";
?>
或使用jQuery的ready()处理程序,这将火的时候,所有的元素已经被解析:
<script type="text/javascript">
jQuery(document).ready(function ($) {
$('#myTest').click(function(){alert('hi');}));
});
</script>
<?php
echo "<div><input type='button' value='Test' id='myTest' /></div>";
?>
注意,在最后一个例子,我走样jQuery的命名空间中传递给函数的3210参数。这使您可以使用$
用于jQuery和WordPress,而不是一直输入jQuery
。
为什么要在'ready'处理程序中使用'.live()'作为单个元素? :) – 2010-11-09 16:16:27
@Nick:该死的复制和粘贴......呃......啊!我的意思是,我不知道你在说什么...... *口哨声* ;-) – 2010-11-09 16:18:18
hehe,+1,非常完整 – 2010-11-09 16:20:13