所以,我有这个代码片段打开一个模态:
<button id="trigger-overlay" class="order">Open Overlay</button>
现在,我想将它包含在Wordpress菜单中,但我无法在那里添加按钮标记,所以我补充说:
<a href="#" class="order">Open Overlay</a>
我正在使用jquery为该链接添加ID,如下所示:
$('.order').attr('id','trigger-overlay');
ID已添加,但链接没有打开任何内容,也就是说,它链接到“#”而不是打开模态... 我怎么能解决这个问题才能使它发挥作用?
谢谢!
答案 0 :(得分:0)
这件事可能是由于事件发生命令造成的。因此,您的代码$('.order').attr('id','trigger-overlay');
正在点击的绑定事件后立即执行(我认为该事件看起来像这样:$('#trigger-overlay').click(function() { ... });
。
如果您有能力更改该绑定,请使用jquery.on方法:http://api.jquery.com/on/
所以代码看起来像是:$(document).on('click', '#trigger-overlay', function() { ... });
。
您也可以使用该事件绑定将$('.order').attr('id','trigger-overlay');
移到脚本上方。
答案 1 :(得分:0)
基于您的
Database.SetInitializer(new YourInititalizer());
var dbContext = new TheContextYouAreUsing();
dbContext.Database.Initialize(force: true);
我不确定你是如何得到一个触发模式的,因为它没有连接到像下面这样的事件处理程序:
<button id="trigger-overlay" class="order>Open Overlay</button>
在这种情况下,会有一个针对overlay / modal的函数,并将其CSS <button onclick="turnOverlayOn()">Demo Button</button>
属性从display
转换为none
或block
(但是你会喜欢显示它):
inline-block
我建议专注于附加onClick事件,该事件会触发一个功能,该功能会执行您想要使叠加层显示的内容。
用于关闭覆盖的功能可以是:
var turnOverlayOn = function () {
$('targetOverlayId').css('display','block')
}
您可以将其附加到其他锚标记或按钮以关闭叠加层。
注意:对于锚标记,事件的作用与对按钮的作用相同。
答案 2 :(得分:0)
根据我的理解,您想要触发按钮点击事件。使用带有类顺序的标签。
尝试
jQuery(document).on('click','.order',function(){
jQuery('#trigger-overlay').click();
});
您可以使用jquery触发click事件。由于我不了解您的DOM结构jQuery(document).on('click','.order',function()..
即使您的元素是动态的(在脚本执行后添加到DOM)也会起作用,因为click事件绑定到文档。
注意:强>
使用wordpress时,请始终使用 jQuery而不是$ 来避免冲突。