• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

a标签不能调用js方法的问题

php 搞代码 4年前 (2022-01-22) 17次浏览 已收录 0个评论

在我们做后台删除的时候,当点击删除标签时,你希望弹出一个友好的提示框!比如这样:

那代码应该怎样写呢?向下面这样?

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <script>        window.onload=function <div style="color:transparent">!本文来源gaodai.ma#com搞#代!码(网</div><em>搞gaodaima代码</em>() {                        function confirmdelete(id) {                                return  window.confirm("你确定要删除吗?");            }        }       </script></head><body></body><?php   echo "<a onclick='confirmdelete(2)'>删除</a>";?>

你会发现会发生这样一个错误:

该函数没有被使用?不应该啊,我在php里面不是已经调用了么?

注意:

想必写过前端的人都知道这个方法是在页面全部加载完成之后执行,那么问题就来了,php的执行顺序是先于js的,所以当执行php的时候,发现a标签里面的方法并不存在,因为此刻js还没有被执行,所以就导致了php a标签调用js的时候没有反应这种情况了。

那么代码变成这样呢?

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <script>                    function confirmdelete(id) {                        return  window.confirm("你确定要删除吗?");            }       </script></head><body></body><?php   echo "<a onclick='return confirmdelete(2)'>删除</a>";?>

结果是成功执行!有人说不对啊,你不是说php的执行顺序要先于js么,这个和上面没什么区别啊。

那么此刻就要注意了,有了window.onload这个方法约束后,该js是最后执行,那么 当去掉这个约束,你会发现这个函数

只是一个声明,在js当中,对于只是声明的函数,它会最先编译,所以这时候当执行到php的a标签时,因为它要调用的函数已经预先编译好了,所以就能够调用。

以上就是a标签不能调用js方法的问题的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:a标签不能调用js方法的问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址