2011-08-02 79 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

相关问题