簡體   English   中英

.click在jquery上無法正常工作

[英].click doesn't work properly on jquery

PHPstorm剛剛破壞了我的文件,所以我必須重新做所有事情。 由於某種原因,我無法正常工作-$(“ body”)都根本不會發生click事件。 它確實與$(document).on(...)一起工作。 (腳本位於head和script標簽內)

$("#cover").on('click',function(e) {
     $(e.target).removeClass("no");
     $(e.target).addClass("yes");
});


<body>
<div id="button"></div>
<div id="cover">
    <div class="rows" id="row1"></div>
    <div class="rows" id="row2"></div>
    <div class="rows" id="row3"></div>
    <div class="rows" id="row4"></div>
    <div class="rows" id="row5"></div>
    <div class="rows" id="row6"></div>
</div>
</body>

代碼按照在頁面上找到的順序執行。 所以這:

$("#cover")

將其添加到頁面需要執行:

<div id="cover">

否則,該選擇器將找不到該元素,因為它尚不存在。


一種方法是將JavaScript代碼移動到頁面底部。 (或者至少到目標元素存在之后。)另一種方法是將其包裝在jQuery函數中,該函數會將其附加到文檔的ready事件:

$(function () {
    // add your code here
    // this will execute after the DOM is completely loaded
});

嘗試這樣做。 一旦您的DOM准備就緒,它將執行。

$(function(){
   $("#cover").on('click',function(e) {
     $(e.target).removeClass("no");
     $(e.target).addClass("yes");
   });
});

您可以通過右鍵單擊文件夾,導航到“本地歷史記錄”->“顯示歷史記錄”->右鍵單擊文件/文件夾,然后選擇“還原更改”,嘗試還原PHPStorm中的更改。

如果這樣不起作用,請執行以下操作:

  1. 將您的JavaScript移至頁面底部
  2. $(document).ready(...)包裝點擊
  3. 為了進行調試,請使用console.log($("#cover")); 作為綁定click事件之前的第一行,以查看jQuery對象的長度是1還是0。如果為1,則匹配並找到了元素;如果為0,則元素不存在或找不到匹配項。

暫無
暫無

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

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