我正在尝试创建一个自定义确认对话框,当用户点击具有特定类的链接时。这很简单,但问题在于,如果用户在对话框中点击“确认”按钮(使用Twitter Bootstrap 3),我希望触发单击相同的链接,但这次不是显示对话框,而是跟随该链接。
一切都很好,直到我想在带有某些参数的标签上触发单击事件。这是我想要实现的非常简化的示例:
HTML:
一切都很好,直到我想在带有某些参数的标签上触发单击事件。这是我想要实现的非常简化的示例:
HTML:
<a class="initial" href="http://yell.com">click me</a>
<div class="dialog hidden">
<a href="#">Click me again</a>
</div>
JavaScript:
$(document).on('click', 'a.initial', function(e, forced){
//return true;
if(typeof(forced) !== 'undefined' && forced === true){
$(this).addClass('clicked');
console.log('Clicked');
return true;
} else{
e.preventDefault();
$(this).removeClass('clicked');
$('div').removeClass('hidden');
}
});
$(document).on('click', 'div.dialog a', function(e){
$(this).parent().addClass('hidden');
$(this).parent().prev().trigger('click', [true]);
});
如您所见,如果单击第二个链接,则第一个链接将变为红色,并且console.log触发消息,但然后该链接不遵循url。不幸的是,我没有看到任何错误或警告可以给我一些线索。我知道我可以使用window.location = $(element).attr('href'),但我想知道为什么它不能按描述的方式工作?
非常感谢您的帮助。