該腳本元素前處理,因此#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