Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在不展开的情况下,从可折叠标题内的按钮调用函数_Javascript_Jquery_Css_Jquery Mobile_Event Handling - Fatal编程技术网

Javascript 在不展开的情况下,从可折叠标题内的按钮调用函数

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'>

我有一套可折叠的套装,里面有一些可折叠的物品。每个可折叠项目都有几个带有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'>
        <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');”。输入/按钮不能正常工作。但它与链接配合得很好: