首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >记一个JS中的小坑

记一个JS中的小坑

作者头像
Tom2Code
发布2022-04-15 16:30:06
发布2022-04-15 16:30:06
1.1K0
举报
文章被收录于专栏:TomTom

long long time ago,其实也就是上周吧

写Java的大课设的前端页面的时候

写后端的CURD的模块的时候

因为要给删除按钮和添加按钮添加处理函数

当时用的思路是

点击那个a标签

删除对应的一行,因为还没写后端

数据在前端是写死的

直接删除一行即可

思路很简单,函数也很好写

再三检查多次,发现函数也没问题

可是出现了一个bug,就是点完删除的a链接之后

会删除,然后之后的0.01s(形容时间之快)

会重新刷新页面,

哎,真是纳闷了,你说我也写页面的刷新的函数

为啥一直刷新呢。

结果问题出在了a标签上

我当时写的a标签的href值是#

代码语言:javascript
复制
<a href="#">删除</a>

但是却对这个a标签绑定了单击函数

所以即使他执行完函数

还是会执行href的跳转

正确的写法是:

代码语言:javascript
复制
<a href="javascript:;">删除</>

所以,今天有点闲暇时间,来看看这个here的值到底都是咋用的呢

一.几种调用方法

1.最常用的一种方法:

代码语言:javascript
复制
 <a href="javascript:void(0);" οnclick="js_method()"></a>

这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。

2.

代码语言:javascript
复制
<a href="javascript:;" οnclick="js_method()"></a>

这种方法和上一种类似,区别只是执行了一条空的js代码。

3.

代码语言:javascript
复制
<a href="#" οnclick="js_method()"></a>

这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端

4.

代码语言:javascript
复制
<a href="#" οnclick="js_method();return false;"></a>

这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置

二.#的作用

a中href="#"表示回到最顶部。如果当前页面中需要滚动的话,那么用这种方式就可以直接回到顶部。比如有些网站会在右下角制作一个图标按钮,回到顶部,那么此时可以考虑用这种最简单的方式实现。

代码语言:javascript
复制
<span style="font-size:14px;"><a href="#">回到最顶端</a></span>

ok这样的话,下次应该就不会再出现这样的BUG了吧。

今天的文章就到这了,下篇文章见,我要去学多元函数微分学了

聪明的人可以看到上一行中的白色字体奥

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tom的小院 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档