为什么 Button在布局的最下方,绑定的事件无法被触发,而在中间就可以触发Button所绑定的事件?

发布于 2022-09-02 13:19:44 字数 2393 浏览 16 评论 0

在工程的一个form插入了HTML的布局。其中为“发送”Button,绑定了事件,但是在布局的最下方事件无法被触发,反而把Button移到中间的一个地方,事件就可以被触发了。不知道是怎么回事。
form代码如下:

<form #sendmsg-window>
         <div class="maskinglayer_div">
            <div class="sendmsg">
                <div class="sendmsg_top">
                    <span class="sendmsg_top_1"><label>发送短消息</label></span>
                    <button id="sendmsg_min"></button>              
                    <button id="sendmsg_close"></button>
                </div>
                <div class="sendmsg_main">
                    <ul>
                        <li id="msgname"><label>接收人姓名</label><input id="sendmsg_phone" class="msgname_input"/></input></li>
                        <li class="msgname_label1"><label>请输入要发送的电话号码</label></li>
                        <li class="msgname_label1"><label>(多个手机号码间需要分号或空格隔开)</label></li>
                        <li><input class="msgname_input2"></input></li>
                        <li class="msgname_label1"><label>请输入短消息内容</label></li>
                         
                        <li class="msgname_label1"><label>(最多支持500个字符)</label></li>
                        <li><textarea class="sendmsg_content"id="sendmsg_content"></textarea></li>
                        <li class="msgname_label1"><label>请输入的字符个数:9</label></li>
                        <li><button id="sendmsg_sd1" class="msgname_btn1">发送</button><button class="msgname_btn1">关闭</button></li>
                    </ul>
                </div>
            </div>
        </div>
    </form>

为“发送”Button所绑定的事件如下:

 $(#sendmsg_sd1).onClick = function()
                   {
                        if($(#sendmsg_phone).value=="")
                        {
                            view.msgbox(#OkTel,"亲,您发送的是空号哦");
                            return 0;
                        }
      ......

不同位置按钮被不能触发

请教下问什么会这样?该怎样修复呢?谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

唯憾梦倾城 2022-09-09 13:19:44

把你的按钮放在
<div class="sendmsg_main">
外面试试,可能是被其他的DOM遮挡了

<form #sendmsg-window>
         <div class="maskinglayer_div">
            <div class="sendmsg">
                <div class="sendmsg_top">
                    <span class="sendmsg_top_1"><label>发送短消息</label></span>
                    <button id="sendmsg_min"></button>              
                    <button id="sendmsg_close"></button>
                </div>
                <div class="sendmsg_main">
                    <ul>
                        <li id="msgname"><label>接收人姓名</label><input id="sendmsg_phone" class="msgname_input"/></input></li>
                        <li class="msgname_label1"><label>请输入要发送的电话号码</label></li>
                        <li class="msgname_label1"><label>(多个手机号码间需要分号或空格隔开)</label></li>
                        <li><input class="msgname_input2"></input></li>
                        <li class="msgname_label1"><label>请输入短消息内容</label></li>
                         
                        <li class="msgname_label1"><label>(最多支持500个字符)</label></li>
                        <li><textarea class="sendmsg_content"id="sendmsg_content"></textarea></li>
                        <li class="msgname_label1"><label>请输入的字符个数:9</label></li>
                    </ul>
                </div>
                <div>
                <button id="sendmsg_sd1" class="msgname_btn1">发送</button><button class="msgname_btn1">关闭</button>
                </div>
            </div>
        </div>
    </form>

1楼的情况也可能是导致你的错误原因,你的脚本一定要放在你操作的DOM对象的后面,不然会undefined

你的心境我的脸 2022-09-09 13:19:44

根据你的描述应该与你的 script 放置的位置有关,把 JS 脚本放到按钮后面才能够给按钮绑定事件,估计你的脚本放在了中间的位置。

煮酒 2022-09-09 13:19:44

从你这个,只能进行一些猜测。
应该和js代码放置的位置无关

可能性大一些的是你的层次结构有问题,出现了某个区域将button遮挡了,使得你的点击是在该区域上,而不是在button上,这个你可以定位看一下。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文