【问题标题】:Launch JavaScript function from HTML div where function name is generated dynamically ASP.NET从 HTML div 启动 JavaScript 函数,其中函数名称是动态生成的 ASP.NET
【发布时间】:2019-12-24 15:54:29
【问题描述】:

我像这样动态生成 javascript 函数名:

<script>
        function mouseOver<%= _@special.ObjectId %>() {
            //do stuff;
        }
</script>

后来我需要从 html 启动这个函数,但是什么也没发生:

<div onmouseover='mouseOver" + _@special.ObjectId +"()' />

我想我用错误的方式称呼它。 顺便说一句,@special.ObjectId 是取自 Model 的数字,它不为空。这里怎么调用函数?

【问题讨论】:

  • 为什么需要动态创建函数名?
  • 我正在寻找控制不同 div 行为的选项。你建议使用我猜的一个功能
  • 这真的取决于您的需求。但是,如果您将您的 div 归因于数据/ID,那么我看不出为什么一个功能会成为问题
  • 你是对的,我从错误的角度看待这个问题。我忘记了 JS 的工作原理与我所知道的语言相同,所以我会将 ID 传递给单个函数并从那里开始处理它。感谢您指出这一点!

标签: javascript asp.net dynamic dynamic-function


【解决方案1】:

当我们遇到类似问题时,我们按照这种方式调用动态脚本。

<script>
function mouseOver(id) {
        //do stuff;
}
</script>

<div onmouseover='mouseOver(" + _@special.ObjectId +")' />

希望这会有所帮助!

【讨论】:

  • 这很有帮助!我正忙着让它工作。
  • 我认为您的示例中的引号需要转义(或替换为双引号):onmouseover='mouseOver(\" + _@special.ObjectId +\")'
猜你喜欢
  • 2018-12-04
  • 1970-01-01
  • 2013-04-11
  • 2012-12-20
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多