JavaScript中在onclick="delete()"与onclick="javascript:return delete()"的区别是什么?

2025-05-13 18:33:43
推荐回答(2个)
回答1:

onclick="javascript:return delete()"
这是错误的。

href="javascript:delete();void(0)"

这才是正确的。

onclick="delete()"
这个是触发click事件的时候执行delete()

href="javascript:return delete()"
这是个连接,在地址栏输入的时候, 会被浏览器识别成javascript并执行"javascript:"之后的内容。这里直接return是会报错的,因为return只能在函数中使用。当然onclick中可以使用,因为他是个函数,别被眼睛骗了。

在用href的时候最后最好跟着";undefined"(上面的void(0)是undefined的简写)
因为如果最后执行的语句返回的不是undefined的话,有些浏览器会直接将结果显示在窗口中,替换掉原来的内容。

当然如果是onclick="return delete()"的话,那就是将delete()的结果返回给onclick事件,相当于document.getElementById('xxxx').onclick = function() { return delete(); }

回答2:

可以认为没区别
硬要说的话
第一种更简短
第二种强制指定使用JS并且也可以写到href中