再次单击后触发on.click

时间:2019-11-19 11:18:48

标签: jquery

<A>
  <b xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="C">
    <_b>b</_b>
    <_c>c</_c>
  </b>
</A>

https://jsfiddle.net/6paqvfos/

<div> <span>click me</span> <!-- this is coming from ajax request --> </div> function show_me(selector) { selector.on('click', function(){ alert('showing') }) } $('div').on('click', 'span', function(){ show_me($(this)) }) 将在其他地方使用,并且必须将选择器与click事件一起使用。

我只想单击一次跨度以显示警报。

我在这里show_me()使用委托,因为跨度将以ajax形式出现,因此我必须确保它存在。

2 个答案:

答案 0 :(得分:0)

点击发生时,您将再次添加事件触发器。 首先使用取消绑定click事件: `

<div>
  <span>click me</span> <!-- this is coming from ajax request -->
</div>

function show_me(selector) {
  selector.unbind('click').on('click', function(){
    alert('showing')
  })
}

$('div').on('click', 'span', function(){
  show_me($(this))
})

`

答案 1 :(得分:0)

您可以尝试像这样使用.click

$( "div" ).click(function() {
  //your return
}