捕获jQuery提交按钮的单击事件

10

我正在尝试获取表单中提交按钮的点击事件...

<input type="submit" value="Search By Demographics" class="button" id="submitDemo"/>

那就是我想要获取事件的按钮。

$('#submitDemo').click(
        alert("work darn it!!!!!!!!!!!!!!!!!!!!!!!!!")
        //$("#list").block({ message: '<img src="../../Images/ajax-loader.gif" />' })
    );

我想在按钮点击时进行以下操作:我想在一个div周围放置一个加载图片,然后在以后的另一个函数中取消阻止。目前遇到的问题是覆盖层在页面加载时弹出而不是在单击时弹出。请问我做错了什么?

6个回答

14

试试这个

$('#submitDemo').live("click",function() {
  // your stuff
});

正如@px5x2所指出的,live已被弃用,因此应该使用ON代替

$('#submitDemo').on("click",function() {
  // your stuff
}); 

4
.live() 已经被弃用,并在 jQuery 1.9 版本中移除。 - px5x2

8
$('#submitDemo').click(function() {
  // do your stuff
});

4

当DOM准备就绪时,需要运行您的脚本,并为点击方法提供回调:

$(function() {
    $('#submitDemo').click(function() {
        // do your stuff
    });
});

最佳答案。当我第一次读到它时,我想,“天啊,我已经在做这个了”,但是后来我看了一下... - Bob Stein

3

您需要将代码封装在一个函数中。

$('#submitDemo').click(function(){
    alert("work darn it!!!!!!!!!!!!!!!!!!!!!!!!!")
    //$("#list").block({ message: '<img src="../../Images/ajax-loader.gif" />' })
});

但是最好使用 on 绑定事件,这样当元素可用时,它会将事件处理程序附加到该元素。所以

$('#submitDemo').on('click',function(){
    alert("work darn it!!!!!!!!!!!!!!!!!!!!!!!!!")
    //$("#list").block({ message: '<img src="../../Images/ajax-loader.gif" />' })
});

2

对于表单,您还可以在表单上绑定提交按钮的点击。

$("#form_selector").submit(function{
// Do your stuff
})

'form_selector' 是指所点击提交按钮的表单 ID。


0

你可能没有在你的代码中引入jQuery库!

src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接