gpt4 book ai didi

javascript - window.open 是 javascript 还是 html?

转载 作者:行者123 更新时间:2023-11-30 17:58:26 26 4
gpt4 key购买 nike

<input type="button" onClick="window.open('newstudent.php');"/>

这段代码可以正常工作,没有 script 标签,为什么?

最佳答案

在元素的内联事件处理程序中,如 onclick , onchange , onsubmit等,您不需要需要 javascript:前缀 - 您经常看到它的原因是人们将它与 href 混淆了我在下面解释的语法。它不会导致错误 - 我相信它被解释为 label - 但这是不必要的。

不管你是想调用一个函数还是运行一个“简单”的 JS 语句,无论哪种方式都不要包含 javascript: - 也就是说,所有这三个都是有效的:

onclick="doSomething('some val');"
onclick="return false;"
onclick="doSomething(); doSomethingElse(); return false;"

如果您使用内联事件属性,请不要使用 javascript:前缀。

(我说“如果您正在使用内联事件属性”,因为这种做法确实过时了:最好在脚本 block 中使用 JS 分配事件处理程序。)

您只需要 javascript:当你想从 <a> 运行 JavaScript 时添加前缀元素的 href像这样的属性:

<a href="javascript: someFunc();">Whatever</a>

那是因为浏览器通常期望 href包含一个 URI,所以 javascript:前缀告诉它期待 JS 代码。但是,我不建议这样做,因为该页面不适用于禁用 JS 的人。最好包括 href将用户定向到一个页面,告诉他们启用 JS,并包含 onclick执行 JS 功能:

<a href="/enableJS.html" onclick="doSomething(); return false;">Whatever</a>

这样,无论用户是否启用了 JS,链接都会为用户提供一些有用的东西。 return false在点击处理程序的末尾阻止点击的默认行为(导航到指定的 URL)。

关于javascript - window.open 是 javascript 还是 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17628944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com