【问题标题】:Jquery on selector for element parent元素父选择器上的Jquery
【发布时间】:2014-08-25 19:02:27
【问题描述】:

在这个简单的案例中使用 jquery on 方法而不是弃用的 live 方法

$("#myForm").live('submit', function() {
   alert("submit");
});

$(document).on('submit', '#myForm', function() {
  alert("submit");
});

现在,在这种情况下,如何使用“纯”on 做同样的事情,而不需要额外的东西(例如,将 id 分配给表单,然后将该 id 用作选择器或类似的东西)

$("#myInput").parents("form").live('submit', function() {
   alert("submit");
});

谢谢

【问题讨论】:

  • 但是如果我的表单是在文档准备好之后创建的,它会起作用吗?

标签: javascript jquery jquery-on


【解决方案1】:

对所有表单提交运行事件处理程序,然后测试表单中是否包含您关心的输入。

jQuery(document).on('submit', 'form', function (evt) {
    if (jQuery(evt.target).find('#myInput').length === 0) {
        return;
    }
    // Otherwise run the rest of the function normally
});

【讨论】:

  • 这会起作用吗:$(document).on('submit',$("#myInput").parents("form"), function() { alert("submit"); });??
  • 你甚至可以取出 === 0 ,只要 .length 就可以在这里返回真或假
  • @EhsanSajjad — 不,第二个参数必须是选择器。
猜你喜欢
  • 2011-12-07
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
相关资源
最近更新 更多