Javascript 在不展开的情况下,从可折叠标题内的按钮调用函数
我有一套可折叠的套装,里面有一些可折叠的物品。每个可折叠项目都有几个带有onclick事件的按钮:Javascript 在不展开的情况下,从可折叠标题内的按钮调用函数,javascript,jquery,css,jquery-mobile,event-handling,Javascript,Jquery,Css,Jquery Mobile,Event Handling,我有一套可折叠的套装,里面有一些可折叠的物品。每个可折叠项目都有几个带有onclick事件的按钮: <div id="List" data-role="collapsible-set" data-theme="b" data-content-theme="d"> <div id='ListItem' data-role='collapsible' data-content-theme='b' data-collapsed='false'>
<div id="List" data-role="collapsible-set" data-theme="b" data-content-theme="d">
<div id='ListItem' data-role='collapsible' data-content-theme='b' data-collapsed='false'>
<h3>Title
<div style='float:right;'>
<input type='button' data-theme='b' value='Settings' data-mini='true' data-inline='true' data-icon='gear' data-icon-pos='top' onclick='test(43);'/>
<input type='button' value='Delete' data-theme='b' data-mini='true' data-inline='true' data-icon='delete' onclick='test(45);' class='splitButtonClicked'/>
</div>
</h3>
CONTENT
</div>
</div>
function test(value){
alert(value);
return false;
}
标题
内容
功能测试(值){
警报(值);
返回false;
}
onclick事件应使用一个或多个参数调用函数。该事件运行良好,但在事件发生后,listview项将崩溃。这不应该发生
我怎样才能中断崩溃
关于您的函数返回false,但它不是从调用方返回的
<input type='button' value='Delete' data-theme='b' data-mini='true' data-inline='true' data-icon='delete' onclick='return test(45);' class='splitButtonClicked'/>
尝试将return语句添加到按钮标记中。类似于
onclick=…
的内联javascript不应与jQuery Mobile
一起使用。要防止此问题,必须将“单击事件”绑定到按钮,并防止其传播到其他级别
下面是一个实用的jsFiddle示例:
代码示例:
$(document).on('pagebeforeshow', '#index', function(){
$('#first-button').bind('click', function(e) {
alert('First button');
e.stopPropagation();
e.stopImmediatePropagation();
});
$('#second-button').bind('click', function(e) {
alert('Second button');
e.stopPropagation();
e.stopImmediatePropagation();
});
});
如果你想了解更多关于这个话题的信息,请看一下这个,更透明的是,它是我的个人博客。或者可以在中找到它。还有一件事,在我的文章中,我已经说过开发人员不应该使用bind/live/delegate来绑定事件,但是在这里我们必须使用bind,因为它是如何与
data role=“collapsible set”
工作/交互的,函数
和在这里不起作用。返回false以停止事件冒泡谢谢,但不幸的是这不起作用或不够。很好,谢谢。我试图将“$('#popup').popup('open');”添加到事件绑定中,但由于stopPropagation和stoppimmediatepropagation,这当然不起作用。你知道这个问题的解决方法吗?你能用这个来源更新你的问题吗?我想看看你做了什么。我知道了。和你贴的代码一样。我只是在bind事件中添加了一个popup div和“$('#popup').popup('open');”。输入/按钮不能正常工作。但它与链接配合得很好: