将函数调用作为参数添加到onclick函数onclick =" foobar(cb_func)"

时间:2015-07-04 10:54:46

标签: javascript jquery html

我使用onclick作为元素,但是需要像这样传递回调:

scanf

foobar被调用,但是我的cb_func不是 - 实际上当我在Firebug中使用cb()时,它会向我显示整个页面的HTML。

我有什么想法可以实现这个目标?

3 个答案:

答案 0 :(得分:1)

使用event delegation

$(document).on('click', '.dynamicGeneratedEl', function(event){

  // do something
  cb_func();

});

.dynamicGeneratedEl适合您案例的选择器。

答案 1 :(得分:0)

  

对第// do something

进行评论
 function cb_func() {
            alert("hello world!");
        }

        function foobar(i, cb) {
            // do something

            if (cb != undefined)
                cb();
        }

答案 2 :(得分:0)

试试这个:

https://jsfiddle.net/h3ckcgvv/2/

var nextFunction = function() {
    // some more stuff happens 
}

var processClick = function() {
    // some stuff happens
    // condition
      nextFunction();
}

$('.js-click-me').click(processClick);

条件可以是任何内容,基于页面检查,javascript变量状态,点击的HTML元素上的数据属性等。比onclick属性更稳定和可维护,并将回调硬编码到每个调用的位置#39 ;需要。