内联事件处理程序
以最简单的方式,您可以
confirm()在内联
onclick处理程序中使用该函数。
<a href="delete.php?id=22" onclick="return confirm('Are you sure?')">link</a>高级事件处理
但是通常情况下,您希望将HTML和Javascript分开,所以我建议您不要使用内联事件处理程序,而应在链接上放置一个类并为其添加事件侦听器。
<a href="delete.php?id=22" >link</a>...<script type="text/javascript"> var elems = document.getElementsByClassName('/confirm/iation'); var confirmIt = function (e) { if (!confirm('Are you sure?')) e.preventDefault(); }; for (var i = 0, l = elems.length; i < l; i++) { elems[i].addEventListener('click', /confirm/iIt, false); }</script>仅在现代浏览器中有效(对于较旧的IE,您可以使用
attachEvent(),
returnValue并为
getElementsByClassName()jQuery之类的库提供实现或使用该库来解决跨浏览器问题)。您可以在MDN上阅读有关此高级事件处理方法的更多信息。
jQuery的
我想远离被认为是jQuery迷的地方,但是DOM操作和事件处理是两个在浏览器差异方面最有用的地方。只是为了好玩,这就是jQuery的外观:
<a href="delete.php?id=22" >link</a>...<!-- Include jQuery - see http://jquery.com --><script type="text/javascript"> $('./confirm/iation').on('click', function () { return confirm('Are you sure?'); });</script>


