0

单击跨度标记时,我会显示警报。然而,在第一次之后,警报开始一个接一个地出现,就好像它们正在被存储一样。我不知道为什么会这样,起初我以为这可能是事件冒泡,但我试过stopPropagation()了,仍然没有,我错过了什么?

这是跨度(在表格内):

<span href="#" class="button_like">copy Navigation URL</span>

js:

   $('span').click(function(e){
       stopBubbling(e);
       $(this).zclip({
           path: '/scripts/js/ZeroClipboard.swf',
           copy: $('#Txt2Copy').text(),
           afterCopy: function(){
               alert($('#Txt2Copy').text() + " was copied to clipboard");
           }
       });
       return false;
   });

function stopBubbling(e){
    if (!e) var e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
}
4

1 回答 1

1

尝试使用 this ,不需要绑定 click 函数zclip就会绑定到事件。

   $(document).ready(function(){

        $('span').zclip({
               path: '/scripts/js/ZeroClipboard.swf',
               copy: $('#Txt2Copy').text(),
               afterCopy: function(){
               alert($('#Txt2Copy').text() + " was copied to clipboard");
               }
           });
    })
于 2011-09-06T10:44:32.450 回答