【问题标题】:How do you set page level, page-SPECIFIC javascript events using a ContentPlaceHolder?如何使用 ContentPlaceHolder 设置页面级别、页面特定的 javascript 事件?
【发布时间】:2010-05-20 14:53:05
【问题描述】:

我之前问过如何在我的页面中包含 JavaScript,当我将页面拆分为 MasterPage 和 ContentPlaceHolder(.NET 2.0 应用程序)时问题是我只想要那个页面上的 JavaScript 函数,所以我不能只是把它们放在母版页。

根据答案,我将通过MasterPage包含常用功能,并且可以将页面特定功能放在内容页面上。但是,仍然存在 1 个问题:事件。我有 2 个 JavaScript 函数,我想在页面加载下面的 HTML 时加载它们。如何在特定内容页面上加载 JavaScript 页面事件? 或者在下面的情况下,OnKeyPress 事件?

<body onkeypress="javascript:keypressed();" onload="javascript:setDivVisibility();">

【问题讨论】:

  • 你不需要那些“javascript:”前缀,除非还有一些关于 .NET 的东西我不知道(希望不要学习 :-)
  • 重点是,body标签在MasterPage中,但我只需要1页中的功能即可。那么我应该把它们放在哪里呢?

标签: javascript master-pages


【解决方案1】:

我会修改我的函数 keypressed 和 setDivVisibility 以在执行预期代码之前检查位置。

类似这样的:

function keypressed() { 
   if ( window.location.href !== 'http://www.whatever.com/something/aPage.html' ) { 
       return;
   }
   // the original code here
}

看起来您正在使用基于 Windows 的服务器,因此您可能希望在比较之前对 window.location.href 执行 toLowerCase(),因为大小写与 Windows 服务器无关。祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多