a标签的点击事件和button的点击事件的区别

如题。一个django框架的项目。今天遇到一个问题:在js中点击button按钮,点击事件函数中先不写任何代码,只是一个空函数,点击完之后页面重新定向,在原来的url后面多了一个问号;但是将button改为a标签执行点击之后就不会出现这种情况了。这是什么原因?a标签的点击事件和button的点击事件有什么区别吗?

阅读 6.9k
1 个回答

单就事件处理机制而已,两者肯定是一样的,不会针对不同的dom对象采取不同的事件处理机制。

所以说,事件处理机制是一样的。

那有什么不一样的,不同的dom对象的属性不一样。

这就可能会导致在响应事件的时候,需要对不同dom对象的不同属性,或者特定属性做出响应。比如常见的a标签的href属性。

下面就你的问题来回答,先说明一下,我通常不会针对具体的问题回答问题(不会好好回答问题,通常会扯一些其他的,呵呵)。
照理说,应该是a标签引起怪异你所说的怪异行为的可能性要大些。由于不清楚你的具体环境,所以只能猜测。

你确认下,你是否使用了表单form,在一些浏览器中button的默认type是submit,会导致表单提交,也就可能引起你看到的点击之后页面重新定向。

a的点击也会引起页面刷新,但是通常不是url地址添加问号?

当然也不能排除是你使用的框架的问题,那个框架我没使用过,似乎只是听说过,没有看过相关一行代码。

遇到这种表现差异(没有达到预期效果)的时候,就要细心观察。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题