2011-08-02 33 views
1

我在div中有一個textarea,我需要調用jquery函數來激活我的富文本框。在div最初是隱藏的,並通過在服務器端點擊一個按鈕變爲可見:如何對尚未可見的元素執行jQuery操作

<div id="RichTextDiv" style="display:none"> 
<textarea id="RichText" /> 
</div> 

<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
    $("#RichText").markItUp(mySettings); 
    } 
</script> 

上面的代碼不起作用,因爲RichTextDiv不是頁面加載時可見。我需要儘快在RichText上執行markItUp()操作。這怎麼能在jQuery中實現?

謝謝...

+0

你是什麼意思「按鈕點擊服務器端」?元素是如何被添加到頁面的,它是一個AJAX調用等? –

+0

嘗試:http://stackoverflow.com/questions/1225102/jquery-event-to-trigger-action-when-a-div-is-made-visible – Jasper

回答

2

你可以就這麼走了初始可見

<div id="RichTextDiv"> 
    <textarea id="RichText" /> 
</div> 

MarkItUp和隱藏在準備

$(document).ready(function() { 
    $("#RichText").markItUp(mySettings).hide(); 
} 

或電線它一旦你的按鈕點擊:

$("input:button")click(function(){ 
    $("#RichText").show().markItUp(mySettings); 
});  

這一切說,我不知道爲什麼MarkItUp將只對可見元素的工作,似乎有些奇怪

+0

謝謝。好的,我撒謊了。我在asp.net頁面上使用Visible =「False」。我認爲這與style =「display:none」是一樣的,但顯然不是。該div不是在這個dom。再次感謝... – Prabhu

2

sjQuery選擇隱藏的div的工作。如果元素不在DOM中,它們不起作用,但在這裏似乎不是這種情況。

難道是div的ID是RichTextDiv而你的選擇器是RichText

+0

謝謝......請參閱我對@hinter的評論。你是對的... – Prabhu

相關問題