当前位置: 首页 > 知识库问答 >
问题:

提交按钮未首次触发事件

程禄
2023-03-14

我正在尝试捕获提交按钮click事件,并将页面滚动到顶部,如果它还没有在那里。

由于某些原因,该事件不会第一次触发,即如果滚动大于0,则不会发生滑到页面顶部的情况。只有第二次才会激活。

var buttonSearch = function () {
    jQuery(document).ready(function () {
        $("#DashboardSearchButton").submit(function () {
            if (window.scrollY != 0) {
                window.scrollTo({ top: 0, behavior: 'smooth' });
            }
        });
    });
};

<input id="DashboardSearchButton" type="submit" value="Search" onsubmit="buttonSearch();" />

有什么想法或建议吗?我是不是漏掉了什么?谢谢.

共有1个答案

易成天
2023-03-14

这样试试:

jQuery(document).ready(function () {
    $("#DashboardSearchButton").submit(function () {
        if (window.scrollY != 0) {
            window.scrollTo({ top: 0, behavior: 'smooth' });
        }
    });
});

<input id="DashboardSearchButton" type="submit" value="Search" />

您可以从元素的onclick/onsubmit属性调用一个函数,或者创建一个eventListener来监视事件,而不是两者兼而有之。

jQuery的事件侦听器是“在引擎盖下”创建的,可以这样说,如下所示:

$("#DashboardSearchButton").submit(function () { //stuff });

您从来没有看到.addeVentListener(“submit”,myFuncName)语句-jQuery为您做了这件事。

第一次不起作用的原因是您创建了两个事件侦听器。第一个事件由#DashboardSearchButton输入上的onSubmit=属性触发,只创建了第二个事件侦听器(jQuery.submit()处理程序。第二个eventListener创建后,它现在也会监听提交,第二次一切正常。但是,每次单击submit按钮,都会创建另一个jQuery事件处理程序。

 类似资料:
  • 所以我有一个JavaFX应用程序,它包含一个按钮,应该可以打开DirectoryChooser onclick。当我触发它一次时,它会做它应该做的,非常好。我一关闭DirectoryChooser对话框,按钮就什么都不做了。我在网上搜索一些“事件重置”或类似的内容,因为我认为该事件可能仍处于“活动”状态,因此不再触发,但没有任何结果: 不知道这是完全错误的方法,还是我错过了一些重要的东西。我希望你

  • 问题内容: 似乎是一个简单的问题,但解决其他问题的方法似乎对我没有用。 试图通过单击按钮来触发AJAX请求,但似乎并未触发。 HTML示例 javascript 问题答案: 您拥有的代码在拨弄中工作得很好。初始页面加载后,按钮是否通过AJAX动态呈现? 用 代替

  • 我有一个表单,其中有一条错误消息,如下例所示: http://codepen.io/anon/pen/dYWyEM?editors=101 重现问题的步骤如下: 打开coDepen链接后, 1)专注于输入领域 2) 按提交按钮 3) 由于首先触发模糊事件,因此首先隐藏错误消息,从而更改提交按钮的位置。因此,点击事件根本没有注册,我需要再次点击以提交表单。 有没有办法先发送提交事件? 我需要检测触发

  • 我找到了其他相关的问题,但没有一个答案实际上解决了我的问题。这个按钮在IE上很好用,但在Chrome上不行。我尝试移除span元素,将按钮放在任何其他标记之外,但仍然触发了两次。这个temple扩展了一个'base.html'文件,代码位于'main'元素中。 HTML: jQuery:

  • 表单按钮一般分为三类,分别是提交按钮、重置按钮和普通按钮。提交按钮、重置按钮只能在表单中使用,普通按钮则可以在网页的任何地方使用。 从本质上讲,表单按钮也是表单控件,之所以把它分离出来,单独介绍,是因为它的功能比较特别。提交按钮用于把表单数据发送到服务器,重置按钮用于重置整个表单的数据,普通按钮则需要开发者赋予它功能。 当用户点击提交按钮和重置按钮时,就有动作发生,一般不需要添加动作;而普通按钮,