簡體   English   中英

無法從html onclick啟動javascript函數

[英]Unable to launch javascript function from html onclick

我相信這對你來說是一個非常簡單的問題,但我只是不明白。

我有一些顯示一個表的PHP代碼,其中我有一個div,onclik應該觸發一個函數來改變點擊的元素背景顏色。

這是我的HTML:

<div class='modRequiredLink' onclick='test();'>
   <div id='animated-example' class='animatedSlide'></div>
</div>

這是功能:

function test() {
    $(".modRequiredLink").click(function (event) {
        $(this).find("#animated-example").toggleClass("red");;
    });
}

現在,像這樣它可以工作,但它需要兩次點擊才能被觸發,而如果我將功能改為這樣:

function test() {
        $(this).find("#animated-example").toggleClass("red");;
}

它不再起作用了......

為什么? 任何建議? 提前致謝

您的第一個代碼段運行test()函數,該函數僅綁定要在click事件時調用的處理程序,但它實際上並未調用它。

您的第二個代碼段無法正常工作,因為this不是指被單擊的元素(而是指向全局window )。 試試這個:

<div class='modRequiredLink' onclick='test(this);'>

function test(elm) {
    $(elm).find("#animated-example").toggleClass("red");
}

嘗試這個:

function test() {
        $("#animated-example").toggleClass("red");
}

並非所有事情都必須與$(this)掛鈎。

暫無
暫無

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

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