我有一个搜索框,可以帮助用户在我们的菜单中找到东西,除非链接是模态链接,否则它的效果非常好。不会触发模态事件,我会坚持为什么会这样。这是搜索框代码:
$('#mnuCreateReport').on('click', function (e) {
e.preventDefault();
buildFormDialog('dlgCreateReport', 'Create Custom Report', '/form/report/create');
});
对我来说一切看起来都是正确的,所以我不知道为什么它不起作用。
编辑:
以下是我所讨论按钮的点击事件
{{1}}
答案 0 :(得分:1)
似乎问题是在将元素添加到DOM之前绑定到click事件。您可以使用jQuery的事件委派来解决问题。所以而不是:
$('#mnuCreateReport').on('click', function (e) {
e.preventDefault();
buildFormDialog('dlgCreateReport', 'Create Custom Report', '/form/report/create');
});
你会:
$('#menuSearchResults').on('click', '#mnuCreateReport', function(e){
e.preventDefault();
buildFormDialog('dlgCreateReport', 'Create Custom Report', '/form/report/create');
});
有关事件委派如何工作的详细信息,请参阅jQuery docs here。干杯!