javascript自定义事件从返回false的函数触发

时间:2017-09-11 08:46:15

标签: javascript html javascript-events triggers

我有以下表格代码。我必须阻止表单提交和触发自定义事件。我还在提交函数上写了一个javascript来触发该事件,然后返回false,如果我做错了请帮忙。

表单html:

   <form class="form-inline" action="" name="filterform">
      <div class="row">
        <?php foreach($formatted_post_type as $filters){?>
        <div class="checkbox">
          <label class="checkbox-inline" style="line-height:40px;">
            <input type="checkbox" name="filters[posttype][]" value="<?php echo $filters['slug']?>" onclick="refresh_posttypes();" />
            <?php echo $filters['name']?></label>
        </div>
        <?php }?>
      </div>
      <div class="row">
        <div class="col-md-12">
          <input type="submit" class="btn btn-primary btn-sm" value="Apply">
        </div>
      </div>
    </form>

javascript代码:

jQuery(document).ready(function(){
  jQuery('form[name="filterform"]').on('submit', function(e){
      jQuery(document).triggerHandler('favorites-update-all-lists', function(e){
           e.preventDefault();
    });
    return false;
    });
  });

2 个答案:

答案 0 :(得分:0)

试试这个

$(function() {

    $('form[name="filterform"]').on('submit', function(e) {
        $(document).triggerHandler('favorites-update-all-lists', function() {
            e.preventDefault();
        });
    });

});

您在两个匿名函数中使用e

答案 1 :(得分:0)

尝试在提交处理程序后立即移动e.preventDefault();

jQuery(document).ready(function(){
  jQuery('form[name="filterform"]').on('submit', function(e){
      e.preventDefault();

      jQuery(document).triggerHandler('favorites-update-all-lists', function(e){

      });
    return false;
    });
  });