绑定onclick to element调用jquery中的方法

Pab*_*sby 1 html javascript jquery

我有一个模态:

<div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Title</h4>
            </div>
            <div class="modal-body">
                <div>Text</div>
            </div>
            <div class="modal-footer">
                <button  type="button" data-dismiss="modal">Cancel</button>
                <button id="btn-accept" type="button" data-dismiss="modal">Accept</button>
            </div>
        </div>
    </div>
</div> 
Run Code Online (Sandbox Code Playgroud)

我通过javascript中的函数显示它:

function foo(param1, param2){

    $("#btn-accept").bind('click', bar(param1, param2)) ;
    $("#myModal").modal('show');
}
Run Code Online (Sandbox Code Playgroud)

当我#btn-accept对它进行绑定时,它已经调用了该方法.我怎么能避免这个?

car*_*mba 5

用这样的函数包装它:

function foo(param1, param2){
    $("#btn-accept").bind('click', function() {
        bar(param1, param2);
    });
    $("#myModal").modal('show');
}
Run Code Online (Sandbox Code Playgroud)

  • @PabloCasas因为在原始代码中你正在执行函数所以`.bind`的第二个参数实际上被设置为`bar`的结果,这里它们传递一个[函数声明](https://developer.mozilla .ORG/EN-US /文档/网络/的JavaScript /参考/语句/函数) (2认同)