jQuery:如何从一个元素捕获事件并将其分配给另一个元素?

时间:2016-03-15 01:44:37

标签: javascript jquery

我有以下HTML

<a class="link" href="#">Link</a>

<button class="btn">
    BUTTON
</button>

<p class="hidden">This is a paragraph</p>

和jQuery

$(document).ready(function(){
    $('.link').on('click', function(){
        displayText();
    }); 

    function displayText(){
        $('p').show();
    }
});

点击时的链接会显示<p>标记。我想捕获链接事件并将其分配给按钮。有什么建议吗?

更新: 我要找的是在链接上捕获事件并将其停止,显示一个对话框并将事件分配给对话框上的按钮。

JSFiddle:https://jsfiddle.net/0ct4r7y0/

2 个答案:

答案 0 :(得分:1)

只要点击链接,您就可以button点击a.link上的触发 点击

$('.link').on('click', function(event){
    displayText();
    console.log(event);
    $('button').trigger('click', event);
});

// to test that the event is passing properly
$('button').on('click', function(event, originalEvent){
    console.log(event, originalEvent);

    //originalEvent.target === <a class="link"></a>
    //event.target === <button></button>
});

请注意,按钮点击处理程序中的原始事件是从a.link点击传递的事件。

答案 1 :(得分:0)

你可以将你的事件(功能)作为另一个dom重新绑定,同时你找到想要捕获的dom上的听众,希望Visual Event可以帮助你