- <body>
- <input type="button" id="btnShow" value="按钮" />
- <div id="divTop">
- //列表
- </div>
- </body>
JS代码:
- $(function () {
- $('#btnShow').click(function (event) {
- //取消事件冒泡
- event.stopPropagation();
- //按钮的toggle,如果div是可见的,点击按钮切换为隐藏的;如果是隐藏的,切换为可见的。
- $('#divTop').toggle('slow');
- return false;
- });
- //点击空白处隐藏弹出层,下面为滑动消失效果和淡出消失效果。
- $(document).click(function(event){
- var _con = $('#divTop'); // 设置目标区域
- if(!_con.is(event.target) && _con.has(event.target).length === 0){ // Mark 1
- //$('#divTop').slideUp('slow'); //滑动消失
- $('#divTop').hide(1000); //淡出消失
- }
- });
- })
这样在pc上和安卓上都没有,但是在ios无法执行
原因是因为IOS浏览器的window、document、body并不接受click事件,按钮和链接才接受click事件
- $(function () {
- $('#btnShow').click(function (event) {
- //取消事件冒泡
- event.stopPropagation();
- //按钮的toggle,如果div是可见的,点击按钮切换为隐藏的;如果是隐藏的,切换为可见的。
- $('#divTop').toggle('slow');
- return false;
- });
- //点击空白处隐藏弹出层,下面为滑动消失效果和淡出消失效果。
- //注意红色这里
- $("body>*").click(function(event){
- var _con = $('#divTop'); // 设置目标区域
- if(!_con.is(event.target) && _con.has(event.target).length === 0){ // Mark 1
- //$('#divTop').slideUp('slow'); //滑动消失
- $('#divTop').hide(1000); //淡出消失
- }
- });
- })