Javascript命名空间,onclick Event,et al

时间:2014-05-22 15:20:12

标签: javascript javascript-namespaces

这是

<input type="button" value="..." 
  onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirect={/Pages/Home.aspx}' ) }"
/>

相同(功能上)
. . .
<script type="javascript/text>
  function runIt() {
    ddwrt:GenFireServerEvent('__commit;__redirect={/Pages/Home.aspx}' );
  }
</script>
<body>
    <input type="button" value="..." 
      onclick="runIt();" />
</body>
</html>

我真的不明白

  1. onclick事件描述中的“javascript:”一词的作用是什么。我的意思是,不是默认情况下onclick中的内容是javascript吗?

  2. 外部花括号在..."javascript: {}"中的作用。

  3. 我认识到“ddwrt:”是名称空间,但我不知道如何在javascript函数中指定名称空间,javascript函数本身位于<script>块中。 / p>

2 个答案:

答案 0 :(得分:4)

  1. 这是label,在此背景下完全没用
  2. 他们创建block,在此上下文中也无用
  3. 不,这是另一个标签也无用

答案 1 :(得分:0)

在这个特殊情况下(Sharepoint),这不是javascript,这是由Sharepoint解析并翻译成如下:

onclick="javascript: __doPostBack('ctl00$ctl37$g_c251e0c4_cd3d_4fc0_9028_ab565452bedd','__cancel;__redirect={https://....}')"

查看结果源代码。 这就是为什么你不能在你的javascript代码中调用GenFireServerEvent的原因。