函数中的参数(jquery / dialog)

时间:2016-01-20 14:14:53

标签: javascript jquery jquery-ui

我正在尝试为多个链接使用相同的功能。 这是我的代码。

<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>

我正朝着正确的方向前进吗?如果是的话,我的错误在哪里?

2 个答案:

答案 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;
});