为什么jQuery会动态添加(并替换)按钮B?

为什么jQuery会动态添加(并替换)按钮B?,jquery,button,dynamic,replace,Jquery,Button,Dynamic,Replace,这是我的问题: 用户点击按钮A 这将触发jQuery动画隐藏按钮a 完成此动画后,jQuery动画将在完全相同的位置显示按钮B jQuery的行为就像点击了按钮B一样 这对我来说似乎很奇怪,并导致了糟糕的用户体验。有人能帮我修一下吗?下面是javascript代码,但我认为这是jQuery的一个普遍问题: function showbuttonB(element){ $(element).animate({ opacity: '0', marginRight: '-50px'}, 230,

这是我的问题:

  • 用户点击按钮A
  • 这将触发jQuery动画隐藏按钮a
  • 完成此动画后,jQuery动画将在完全相同的位置显示按钮B
  • jQuery的行为就像点击了按钮B一样
  • 这对我来说似乎很奇怪,并导致了糟糕的用户体验。有人能帮我修一下吗?下面是javascript代码,但我认为这是jQuery的一个普遍问题:

    function showbuttonB(element){
       $(element).animate({ opacity: '0', marginRight: '-50px'}, 230, function(){
          $(element).append("<span class='buttonB'><a href='mailto:XXXXXXXX'><div class='icon'>ButtonB</div></a></span>");
          $(element).find('.buttonB').animate({
             display: 'toggle',
             marginRight: '0px'
          }, 230);
       });
    }
    
    $(".buttonA").live('touchend mouseup', function() {
      showbuttonB(this);
    });
    
    函数showbuttonB(元素){
    $(元素)。动画({opacity:'0',marginRight:'-50px'},230,function(){
    $(元素)。追加(“”);
    $(元素)。查找('.buttonB')。设置动画({
    显示:“切换”,
    marginRight:“0px”
    }, 230);
    });
    }
    $(“.buttonA”).live('touchend mouseup',function(){
    showbuttonB(这个);
    });
    
    以及HTML:

    <div class="buttonA">ButtonA</div>
    
    按钮
    
    它不像单击了BB按钮,问题是新按钮位于隐藏元素中

    检查

    代码:
    函数showbuttonB(元素){
    $(元素)。设置动画({
    不透明度:“0”,
    marginRight:“-50px”
    },230,函数(){
    $('#foo')。附加(“”);
    $('#foo')。查找('.buttonB')。设置动画({
    显示:“切换”,
    marginRight:“0px”
    }, 230);
    });
    }
    $(“.buttonA”).live('touchend mouseup',function(){
    showbuttonB(这个);
    });​
    
    HTML:

    <div class="buttonA">ButtonA</div>
    <span id="foo"> </span>
    
    按钮
    

    密码?不能从这里猜出所有的东西。问题在第3行…我添加了代码,虽然我真的会猜到以前有人遇到过这个问题。这是一般的事情。您在点击时替换了一个按钮,jQuery会这样做,但也会将点击应用于新按钮。请添加相关的HTML以配合您的代码。我们需要能够看到您的具体问题,以便可靠地提供帮助。@jfriend00。他更新了问题。我想我明白了,你觉得呢?
    <div class="buttonA">ButtonA</div>
    <span id="foo"> </span>