http://jsfiddle.net/CCKUz/與點擊功能jQuery的不工作
追加HTML所以我有一個<span class="open">
一個框,將增加一個可摺疊的div的高度來查看內容。它僅通過CSS高度可摺疊,打開的點擊功能將高度設置爲自動。容易,這個工程。
當我去追加打開和關閉跨度時,問題就發生了。當我將它們包含在實際的html中時,它們工作正常。當我追加它們時,它們不再起作用。我想也許這是由於js無法將.click函數應用於它們,因爲它們是在加載後創建的,但是即使創建它們並將.click應用於同一個函數也不能解決此問題。
有沒有什麼可能會影響到您?謝謝。
HTML:
<div class="box collapsible">
<h3>Title</h3>
<p>This is a sample paragraph that is here for placer purposes.</p>
</div>
CSS:
.box { height: 20px; border: 1px solid #000000; padding: 10px; margin: 20px; position: relative; overflow: hidden; }
h3 { margin: 0 0 20px 0; line-height: 20px; }
.open, .close { text-indent: -9999px; width: 20px; height: 20px; position: absolute; top: 10px; right: 10px; }
.open { background: #00ff00; }
.close { background: #0000ff; }
JS:
$(function(){
var box = $(".collapsible");
var close = $(".collapsible span.close");
var open = $(".collapsible span.open");
box.each(function(){
box.append('<span class="open">Open</span>');
open.each(function(i){
open.click(function(){
alert("You clicked open");
$(this).parent(box).css("height","auto").append('<span class="close">Close</span>');
$(this).hide();
$(this).parent().find(close).show();
});
});
close.each(function(i){
close.click(function(){
$(this).parent(box).css("height","15px");
$(this).hide();
$(this).parent().find(open).show();
});
});
});
});
它看起來像所有這些工作,但我沒有去與這一個。我將close函數操作分開以除去.close而不是隱藏它。這樣,每次調用open.click函數時都不會追加另一個close。 (好吧,它正在追加另一個,但現在刪除了前一個。)感謝您的幫助。 – 2013-02-18 17:59:43
@RKS - 不客氣,只是很樂意提供幫助。 – adeneo 2013-02-18 18:01:10