Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t取消链接与单击事件的绑定_Javascript_Jquery - Fatal编程技术网

Javascript Can';t取消链接与单击事件的绑定

Javascript Can';t取消链接与单击事件的绑定,javascript,jquery,Javascript,Jquery,我尝试在显示表单时禁用div中的所有链接,以强制与表单交互。全部,但保存和取消按钮属于表单。在阅读了这里的相关文章一段时间后,我认为它可以与此代码一起工作。但不知何故,只有“保存”按钮起作用,即使没有解除绑定。我不明白这有什么意义,所以我想我错过了一些重要的事情。是否可以从设置为多个事件的事件侦听器中解除单个链接的绑定 // set up click event to all links in panel-body $('.panel-body a').on('click.myDisable'

我尝试在显示表单时禁用div中的所有链接,以强制与表单交互。全部,但保存和取消按钮属于表单。在阅读了这里的相关文章一段时间后,我认为它可以与此代码一起工作。但不知何故,只有“保存”按钮起作用,即使没有解除绑定。我不明白这有什么意义,所以我想我错过了一些重要的事情。是否可以从设置为多个事件的事件侦听器中解除单个链接的绑定

// set up click event to all links in panel-body 
$('.panel-body a').on('click.myDisable', function() { return false; });
// unbind cancel button
$("li#122.tag-edit-cancel-button").off('click.myDisable');
// show form
$("li#122-form").css('display','block');
// hide list entry
$("li#122").hide();

// save button
$("li#122-form .tag-edit-save-button")
        .click(function(e) {
                e.preventDefault();
                $("#edit_tag_122").submit();    
                $('.panel-body a').off('click.myDisable');
            });

// cancel button
$("li#122 .tag-edit-cancel-button")
        .click(function(d) {
                d.preventDefault();
                $("li#122-form").css('display','none');
                $("li#122").show();
                $('.panel-body a').off('click.myDisable');
            });
HTML:


  • 一些文字

如果需要更多信息,请让我知道。谢谢

我假定这是通过ASP.NET运行的,在这种情况下,请显示呈现的代码,而不是原始源代码。它是通过Rails运行的。渲染唯一会改变的是,将显示相应标记的Id,而不是。这一部分应该是正确的。@翻转呈现的代码更可取,因为我们可以将其放入类似JSFIDLE的东西中,不太可能有人坐下来替换这些标记只是为了帮助您。这是有道理的。我会替换它们。你有没有可能也发布HTML?了解“保存”和“取消”按钮是否为实际按钮,或者它们是否也是链接,这将非常有用。
<div class="panel-body">
  <ul class='tags tags-class5'>
    <li id="114-form" style="display:none;"> 
      <div class="col-md-6">
        <form accept-charset="UTF-8" action="/users/1/tags/114"  class="edit_tag" data-remote="true" id="edit_tag_114" method="post">
          <div style="display:none">
            <input name="utf8" type="hidden" value="&#x2713;"/>
            <input name="_method" type="hidden" value="patch" />
          </div>
            <input class="tag-edit-input form-control" id="tag_name" name="tag[name]" type="text" value="aslkasdasd" />
        </form>   
      </div>
      <div class='col-md-6 tag-button-row'>
        <a class="btn btn-primary btn-sm tag-edit-save-button" href="#">Save</a>
        <a class="btn btn-danger btn-sm tag-edit-cancel-button" href="#">Cancel</a>
      </div>
    </li>

    <li id="114"> 
      <div class='col-md-6 textoverflow left list_1'> sometext </div>
      <div class='col-md-6 tag-button-row'>
        <a class="btn btn-warning btn-sm tag-edit-button" data-remote="true" href="/users/1/tags/114/edit">Edit</a>
        <a class="btn btn-danger btn-sm" data-confirm="Delete Tag (it will be deleted from all associated Vocabs?" data-method="delete" data-remote="true" href="/users/1/tags/114" rel="nofollow">Delete</a>
      </div>
    </li>
  </ul>
</div>