首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery检测新按钮和文本框

使用jQuery检测新按钮和文本框
EN

Stack Overflow用户
提问于 2014-07-14 22:37:03
回答 1查看 60关注 0票数 0

我正在尝试为未保存的数据创建导航警告,但我遇到了问题,因为我尝试检查的页面清除了单选按钮。页面清除它们的方法是删除单选按钮并添加新的单选按钮。我不知道如何使用jQuery检测这一点。我已经有一些代码来检测文本框中的变化,它检测单选按钮是否改变了状态,但当它们被清除时,它不起作用。这是我的jQuery:

代码语言:javascript
运行
复制
var warnMessage = "You have unsaved changes on this page!";

$(document).ready(function() {

$('input:not(:button,:submit),textarea,select,:disabled').change(function () {
    window.onbeforeunload = function () {
        if (warnMessage != null) return warnMessage;
    }
});

  $('input:submit').click(function(e) {
      warnMessage = null;
  });

});

有没有办法检测页面中是否使用了document.add?

EN

回答 1

Stack Overflow用户

发布于 2014-07-14 23:40:24

您应该这样使用.on()函数(http://api.jquery.com/on/):

代码语言:javascript
运行
复制
var warnMessage = "You have unsaved changes on this page!";

$(document).ready(function() {

    $(document).on('change', 'input:not(:button,:submit),textarea,select,:disabled', function () {
        window.onbeforeunload = function () {
            if (warnMessage != null) return warnMessage;
        }
    });

    $(document).on('click', 'input:submit', function(e) {
        warnMessage = null;
    });
});

请注意以下事项:

  1. 您需要使用$选择父元素(f.i.整个文档)包含您想要检测更改的元素/单击。只有在.on函数中,您才能指定那些elements.
  2. Function函数仅在jQuery>=1.7中可用:如果您的版本较低(但高于1.3),则应使用.live()函数.on .on()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24739049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档