我认为你check
的函数不会返回需要分配为 onclick 事件回调的函数,然后
but.onclick = check;
例如,如果:
var check = function() {
return function(){
/* some logic eg. dependent of arguments 'parent' function' */
} }
//works
but.onclick = check('somethingImportant');
好的,但是如果您想为这些事件分配多个回调,则会出现问题:) 如果您知道addEventListener
/会更好attachEvent
but.addEventListener( 'click', check,true );
but.addEventListener( 'click', check2,true );
之后如果需要使用removeEventLister
或detachEvent
分离功能;
但是 - 尝试使用 jquery :)
var check = function(){/* do something */};
$('#addButton').append(
$('<input type="button" value="New Button"/>')
).click( check );
或者
$('#addButton').append(
$('<input/>' ).attr( 'type', 'button' ).val( 'New Button' ) )
.click( function(){ /* do something */ } )
);
然后
$('#addButton').unbind( 'click' ) // unbind( 'click',check )
还有更多的可能性:)