即使我正在使用“开启”,也请点击甚至不触发

时间:2015-09-21 02:47:59

标签: javascript jquery

我有以下代码:

  if(amStatus === "Logout") {
    $('#row-qfauto-1 .large-9').append('<a id="next-password" class="button button-next" href="javascript:;">Next</a>')
    $('#next-password').click(function() {
      $('#row-html2-0').addClass('next-visible')
      $(window).resize()
    })
  }

  $('.button-next').on('click', function() {
    $(this).hide()
    $(window).resize()
  })

正如您所看到的,button-next正在使用jQuery动态添加。因此,为了使按钮在单击时消失,我决定使用on

但是,按钮不会消失。它就在那里。当我做的时候

  $('.button-next').click(function() {
    $(this).hide()
    $(window).resize()   
  })

在控制台中两次,然后按钮消失。奇怪的。可能是什么问题?

直播网站:http://www.chineselearnonline.com/amember/signup/cloprogressive

2 个答案:

答案 0 :(得分:1)

试试这个:

if (amStatus === "Logout") {
  $('#row-qfauto-1 .large-9').append('<a id="next-password" class="button button-next" href="javascript:;">Next</a>')
  $('#next-password').click(function() {
    $('#row-html2-0').addClass('next-visible')
    $(window).resize()
  })
}

$('#row-qfauto-1 .large-9').on('click', '.button-next', function(e) {
  e.preventDefault();
  $(this).hide()
  $(window).resize()
});
  

注意:您正在为#next-password以及.button-next分配事件监听器,这是您想要实现的方式吗?

     

另外,请确保id

中没有多余的DOM

答案 1 :(得分:0)

尝试事件委派

jQuery()

或使用 $("#row-qfauto-1 .large-9") .append($("<a></a>", { "id":"next-password", "class":"button button-next", "href":"javascript:;" "on": { "click": function() { $(this).hide() $(window).resize() } }, "html":"Next" }))

创建元素时附加点击事件
<?php $time = mktime(0, 0, 0, 1, 1);
for ($i = 0; $i < 86400; $i += 1800) {  
// 1800 = half hour, 86400 = one day
    $var = sprintf('%1$s-%2$s',date('g:i', $time + $i), date('g:i a', $time + $i + 1800));
    if($value['hour'] == $var ){ $selected = "selected" ;}else {$selected= "";}
    printf('<option value="%1$s-%2$s" %3$s>%1$s-%2$s %3$s</option>',
           date('g:i', $time + $i), date('g:i a', $time + $i + 1800), $selected);
}  ?>