window.open is javascript or html?

window.open is javascript or html?

本文关键字:html or javascript open is window      更新时间:2023-09-26
<input type="button" onClick="window.open('newstudent.php');"/>

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

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

无论你

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

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

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

(我说">如果你使用内联事件属性",因为这种做法确实已经过时了:最好在脚本块中使用JS分配事件处理程序。

仅当您想从 <a> 元素的 href 属性运行 JavaScript 时,才需要 javascript: 前缀,如下所示:

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

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

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

这样,无论用户是否启用了JS,该链接都会对用户有用。单击处理程序末尾的return false会阻止单击的默认行为(即导航到指定的 URL(。

onclick 属性的工作方式或多或少类似于 JavaSript。

input.onclick = function() {
    // The code from the value.
};

不需要存在 script 元素才能运行 JavaScript。一些浏览器甚至愚蠢到通过CSS执行JavaScript。