"点击“;事件处理程序未启动

"click" event handler not firing

本文关键字:程序 事件处理 启动 quot 点击      更新时间:2023-09-26

我有一个php页面,它打印出一个div,该div具有多个不同ID的锚标记。这是一个示例代码:

echo "<div id='"pageLinks'">";
echo " <a href='"javascript:;'" id='"1'"><<</a> ";
echo "another link...."
echo "</div">;

应该侦听click事件的javascript代码如下:

$(document).ready(function(){
    $("div#pageLinks a").click(function(){
       alert("clicked");
    });
});

但它显然不起作用(我看不到"点击"的警报)。有人能帮我吗?

您的HTML源代码已完全损坏。您应该使用&lt;而不是<,并正确关闭最后一个div。

您的javascript代码btw正在工作,请在此处查看:http://jsfiddle.net/raszi/H9dnE/3/

更新

一个可能更好的代码:

PHP:

echo '<div id="pageLinks">';
echo '<a href="#" id="1">&lt;&lt;</a>'
echo 'another link...';
echo '</div>';

Javascript:

$(function() {
  $("div#pageLinks a").click(function( event ) {
    event.stopPropagation();
    alert("Clicked!");
  });
});

可以在此处查看:http://jsfiddle.net/raszi/p3Ug2/

以这种方式重写代码:

echo "<div id='"pageLinks'">";
echo " <a id='"1'">&lt;&lt;</a> ";
echo "another link...."
echo "</div>";

然后

$(document).ready(function(){
    $("div#pageLinks a").click(function(){
        alert("clicked");
    });
});

应该起作用。不要在页面中放入错误的HTML代码!并使用HTML实体(&lt;&gt;)而不是<>

查看html源代码。也许你可以看到它不知怎么搞砸了。也许这也有助于我你使用单引号的回声。。。在任何情况下,您都不必再转义双引号,您的代码也变得更加可读。