在动态创建的元素上使用buttonMarkup

时间:2013-07-11 08:24:46

标签: jquery-mobile

我有一个jquery draggable和droppable。 删除的元素是从draggable中克隆的。 被删除的元素是一个简单的jQuery移动按钮。

当我尝试使用buttonMarkup()方法修改动态创建(删除)元素时,它会产生一些奇怪的结果。 < a >标记的内容加倍。我在谈论由jquery mobile创建的span元素。

http://jsfiddle.net/z4gnT/1/

这是一个简单的jsfiddle。在这种情况下,为了简单起见,我使用了一个简单的克隆而不是draggable / droppable。

1 个答案:

答案 0 :(得分:1)

原因是因为额外的样式是appYou必须这样做:

  • 创建一个data-role设置为none的HTML锚点。这将停止它的样式。默认隐藏此元素

    <div class="button-container">     
      <a data-role="button" data-theme="b">Button</a>
      <a class="cloner" data-role="none" data-theme="b">Button</a>
    </div>
    
  • 现在您可以使用此按钮进行克隆。

    $("#add-icon-button").click(function () {
      //get the button and set it with button data-role and add button markup to it
      var $button = $(".cloner").clone().attr("data-role", "button").buttonMarkup({
        icon: "star"
      }).removeClass("cloner");
      //add the variable inside
      $("#new").html($button);
    });
    

演示:http://jsfiddle.net/hungerpain/z4gnT/2/