触发在不同代码块中分配的jQuery事件处理程序 [英] Trigger a jQuery Event Handler Assigned in a Different Code Block

查看:88
本文介绍了触发在不同代码块中分配的jQuery事件处理程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到的情况是,在一个jQuery代码块(文件)中定义/分配了一个Click处理程序,而我希望从另一个在不同的jQuery代码块中定义/分配的Click事件触发它。我如何才能完成此任务?

下面的代码大大简化了我要实现的目标。当我单击#Element2时,我希望看到的行为是一个JavaScript警告元素。

示例HTML:

<p id="Element1">Element One</p>
<p id="Element2">Element Two</p>

第一个jQuery代码块:

$(document).ready(function() {
    $('#Element1').click(function() {
        alert('Element One');
    });
});

第二个jQuery代码块:

$(document).ready(function() {
    $('#Element2').click(function() {
        $('#Element1').click();
    });
});

更新:我的原始示例实际有效。我是在我的字段提示jQuery UI Dialog solution的基础上构建的,没有考虑到我正在使用的'clickoutside' handler。向我的"clickout"处理程序中的第二个元素添加复选标记允许显示该对话框。

推荐答案

您需要在单击第一个元素时触发单击。您可以为此使用trigger方法。

function element1Hanlder () {
    alert('Element One');
}

$(document).ready(function() {
    $('#Element1').click(function() {
        alert('Element One');
    });
});

$(document).ready(function() {
    $('#Element2').click(function() {
        $('#Element1').trigger('click');
    });
});

这篇关于触发在不同代码块中分配的jQuery事件处理程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆