私は、その大きな div 内のリンクをクリックしない限り、div を折りたたんだり展開したりしたいこのスライダーの相互作用を持っています。問題は .is() です (私がそこで何をしたか見てください)。
私はjqueryを使用しています。
コードは次のとおりです (coffeescript で申し訳ありませんが、逆変換するのが面倒でした)。
$ ->
# SLIDER INTERACTION
$(".page-content").click (e) ->
# This first part is just because ie only recognizes srcElement, not target
if e.target
$targ = e.target
else $targ = e.srcElement if e.srcElement
# Now I check to see if they clicked a link, if so, follow the link
if $targ.is("a")
true
# If they clicked a collapsed profile, expand it
else if $(this).hasClass(".collapsed")
$(this).css "margin-bottom": "0px"
$(this).removeClass ".collapsed"
$(this).find(".review-btns, .section-header, .dl-horizontal").show()
# Otherwise, collapse it
else
$(this).css "margin-bottom": "20px"
$(this).addClass ".collapsed"
$(this).find(".review-btns, .section-header, .dl-horizontal").hide()
これでしっかりしているように見えますが、何かをクリックすると、コンソールに次のエラーが表示されます。
Uncaught TypeError: Object #<HTMLDivElement> has no method 'is'
私はずっとテーブルに頭をぶつけていました。それはおそらく愚かなことです、私はここで私の深さを超えています。
前もってありがとう、マット