2014-06-08 116 views
-4

我想實現一個簡單的點擊功能到我的jsfiddle,但它不工作。.on()jQuery的點擊功能無法正常工作?

這裏是我的JavaScript/jQuery的:

$(document).on("click", "#introPic", function() { 
    $("#introduction").addClass("hide") 
    $("#q1").removeClass("hide") 
}); 

我不明白,因爲它的工作原理,如果我把有問題(#introPic)元素出它嵌套在的div並將其放置在頂部的文件。這不是一個解決方案,因爲它會破壞所有的html/css格式。

是否.on()僅適用於非嵌套ID的工作嗎?

這裏是的jsfiddle - http://jsfiddle.net/JosephByrne/HdPq4/2/

這裏是與#introPic修正版本移動到HTML的頂部 - http://jsfiddle.net/JosephByrne/kRudM/

+0

使用。點擊()代替 –

+0

YOU'VE FORGOT終止與LINES 「;」 (: – num8er

+2

實際上你的'#content'放在'body'的後面,這是因爲'z-index:-99',所以實際上你不能點擊'#introduction' –

回答

3

你的代碼沒問題。問題是#introduction是把你放在#content這是#introduction的容器設置,因爲z-index:-99主體元素後面。所以點擊#content中的任何元素都會點擊body元素。只要刪除z-index,它應該工作正常。

這裏有趣的事情是身體的背景應該覆蓋#content,但只有當您爲html元素指定一些背景時纔會發生。

-3

試試這個:

<script> 
$(function(){ 
    $(document).on("click", "#introPic", function() { 
     $("#introduction").addClass("hide"); 
     $("#q1").removeClass("hide"); 
    }); 
}); 
</script> 

您的代碼不工作因爲你忘了用分號結束行。

+1

不,它會沒有它的工作在這裏很好。 – j08691

+0

我沒有downvote正確的答案;我低估了你的答案,這是不正確的。解決方案作爲上面的評論發佈King King。 – j08691

+0

好的。下次請在投票結束後立即寫信給WHY。 :) – num8er