我正在尝试为多个链接使用相同的功能。 这是我的代码。
<a class="col-md-4 nieuws-item btn" href="javascript: void(0)" onclick="showDialog(dialog1); return false;" type="black">
<p>sometext</p>
</a>
<a class="col-md-4 nieuws-item btn" href="javascript: void(0)" onclick="showDialog(dialog2); return false;" type="black">
<p>sometext</p>
</a>
-
function showDialog(dialogname)
{
$("#" + dialogname).dialog({
modal: true,
resizable: false,
closeOnEscape: true
});
}
-
<div id="dialog1" title="SIM Beurs 2015" style="display: none;">
<p>test</p>
</div>
<div id="dialog2" title="SIM Beurs 2015" style="display: none;">
<p>test</p>
</div>
我正朝着正确的方向前进吗?如果是的话,我的错误在哪里?
答案 0 :(得分:4)
你错过了一些引用:
onclick="showDialog('dialog1'); return false;"
^here ^and here
dialog2
相同。
答案 1 :(得分:1)
如果您避免使用内联String phoneNumber = getIntent().getStringExtra("phones");
String emaiId = getIntent().getStringExtra("emails");
处理程序并且只使用jQuery处理程序,则不会发生此问题(并且会更加明显)。这也会使代码与处理程序保持一致。
这样做的好处是每个项目允许多个处理程序,并且不会避免jQuery提供的其他一些很酷的事件功能。
e.g。
onclick=
并使用像这样的jQuery处理程序:
<a class="col-md-4 nieuws-item btn" data-dialog="dialog1" href="javascript: void(0)" type="black">
<p>sometext</p>
</a>
<a class="col-md-4 nieuws-item btn" data-dialog="dialog2" href="javascript: void(0)" type="black">
<p>sometext</p>
</a>
或者,如果动态添加元素,请使用委托处理程序:
$('.nieuws-item.btn').click(function(){
var dialogname = $(this).data('dialog');
$("#" + dialogname).dialog({
modal: true,
resizable: false,
closeOnEscape: true
});
return false;
});