簡體   English   中英

“單擊”事件處理程序未觸發

[英]“click” event handler not firing

我有一個 php 頁面,該頁面打印出一個具有多個具有不同 ID 的錨標記的 div。 這是一個示例代碼:

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 源代碼。 可能你可以看到它以某種方式搞砸了。 也許它也有助於我使用帶有單引號的 echo ...在任何情況下,您都不必再轉義雙引號,並且您的代碼變得更具可讀性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM