我尝试做的是一个按钮onclick
事件。当您单击按钮时,另一个div正在向下滑动。当它向下滑动时,它还会向按钮中添加一个onclick
事件,当您在函数中使用类似于alert()
,console.log()
时,它工作得很好。但是当我像$('#formHelper').html('New content');
一样使用时,什么都不会发生。
首先,我在这里做了一个小提琴。
没有错误或任何东西,代码看起来像:
<div class="panel panel-default">
<div class="panel-heading">
<span class="label label-primary">BOOTSTRAP</span> <b>Form-Helpers </b>
<div class="pull-right">
<button class="btn btn-primary btn-xs" id="formHelper">Show</button>
</div>
</div>
<div class="panel-body" id="formHelperShow">
Some text
</div>
function myFn( ) {
$('#formHelper').html('New content');
console.log( 'works?' );
};
$(document).on('click', '.btn', function(e)
{
e.preventDefault();
var div = '#'+$(this).attr('id');
$(div)
.html('Hide')
.removeClass('btn-primary')
.addClass('btn-danger')
.attr('onclick', 'myFn()');
$(div+'Show').slideDown(500);
});
发布于 2014-11-17 03:32:25
应该是
$(document).on('click', '.btn', function(e)
{
e.preventDefault();
var div = '#'+$(this).attr('id');
$(div)
.html('Hide')
.removeClass('btn-primary')
.addClass('btn-danger')
.attr('onclick', myFn); // Here is the change
$(div+'Show').slideDown(500);
});
编辑:
function myFn() {
$('#formHelper').html('New content')
.unbind('click').click(frstClck);
$('#formHelperShow').slideUp(500);
};
var frstClck = function (e) {
e.preventDefault();
$(this)
.html('Hide')
.removeClass('btn-primary')
.addClass('btn-danger')
.unbind('click')
.click(myFn);
$("#"+this.id + 'Show').slideDown(500);
}
$('.btn').click(frstClck);
https://stackoverflow.com/questions/26965058
复制相似问题