Javascript名称空间,点击事件,等等

Javascript Namespaces, onclick Event, et al

本文关键字:事件 等等 Javascript 空间      更新时间:2023-09-26

<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. 术语"javascript:"在onclick事件描述中扮演什么角色。我的意思是,onclick中的内容不是默认为javascript吗?

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

  3. 我认识到"ddwrt:"是一个命名空间,但我不知道如何在javascript函数中指定一个命名空间,该函数本身位于<script>块内。

  1. 它是一个标签,在这个上下文中完全没有用
  2. 它们创建了一个块,在这个上下文中也是无用的
  3. 不,这是另一个标签,也是无用的

在这个特殊的情况下(Sharepoint),这不是javascript,这是由Sharepoint解析并翻译成类似的东西:

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

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