今天新get一点技能,关于button按钮传值问题,数值参数精确位数有限,如果直接在参数中传递,只能精确到17位,这样如果像ID这种用时间戳拼接的长度达到20位以上的数值,是无法进行精确的参数传递的。
问题描述:
假设参数是这样的:
<button id=“valueDoc.id” οnclick=“deleteDocument(123456789123456789)”>删除</button>
然后我们在js中接一下参数:
结果会显示成下面这样:
如果再长会以科学计数法显示结果,这种结果不是我们想要的,所以换一种写法。
解决办法:
我们将这个参数换成this,也就是对象(可以尝试换成其他字符,感受一下结果)
<button id=“123456789123456789123” οnclick=“deleteDocument(this)”>删除</button>
然后我们接收一下这个参数:
一定看好接收方式,这里是重点:
e是整个html对象,$(e)是当前点击的button对象,$(e).attr(‘id’)就是我们需要的参数
最后来感受一下正确的方式接收到的参数:
为了对比明显,特意将参数加长了三位,依旧是正确接收到了。