1

我有一个很大的疑问。在 MVC 项目中,我使用 MvcHtmlString.Create(); 将 HTML 模板(从 .html 文件加载)呈现到视图中;

这工作正常,但有一个问题。这个HTML模板需要做javascript功能,有问题吗?这不起作用,因为 HTML 是在 javascript 之后呈现的,并且 js 功能不起作用。

像这样的东西:

<script type="text/javascript">
$(document).ready(function(){
    $("#SomeID").click(funciton(){
        //This don't work because the #SomeID not exists yet 
    });
});
</script>
<br />
@MvcHtmlString.Create(@Model.HTMLTemplateContent);

有人可以帮我解决这个问题或告诉我一些尊重吗?

谢谢

4

3 回答 3

1

使用 jqueryon方法。

$(document).ready(function(){
    $(document).on("click","#SomeID",function(){
        alert("Working");
    });
});

on方法将适用于当前和未来(以后注入 DOM 的任何东西(例如:通过 javascript 代码、ajax)元素。

于 2013-11-13T14:29:34.757 回答
1

谢谢!我对此一无所知。

是否可以通过相同的“方法”访问元素?怎么做才能得到这个?IE

我正在使用jSignature来实现对文档的签名。

这个:

$("#someDivID").jSignature();

我现在用这个来访问 div 元素:

var signCanvasOn = document.getElementById("someID");
signCanvasOn.jSignature();
signCanvasOn.jSignature("reset");

但这对我不起作用,只有在我使用时才起作用:

$("#someID").jSignature();
$("#someID").jSignature("reset");

真正的问题是什么?

于 2013-11-13T16:11:18.480 回答
0

您是否尝试过在文档级别添加 jquery?

这就是我通常如何确保 jquery 继续处理我在页面上动态加载的任何内容的方式。

像这样的东西:

  $(document).on("click","#SomeID",function()
  {
  //This don't work because the #SomeID not exists yet 
  });
于 2013-11-13T14:30:58.593 回答