javascript - 动态切换 jQuery 移动 ListView 的拆分按钮

标签 javascript jquery jquery-mobile

我正在使用 jquery mobile 构建一个移动应用程序。我正在使用 listview 控件,到目前为止它工作正常。 但是我想显示一个拆分按钮( http://view.jquerymobile.com/1.3.0/docs/widgets/listviews/#list-split ),但只有在单击某个按钮时才显示。用例是启用/禁用“删除模式”,以便只有在单击工具栏上的按钮后,删除图标才会出现在列表元素旁边。我有一个或多或少的工作解决方案如下:

$('#editmode').live('click', function(e){
e.preventDefault();
$('.deletelog').toggle();
$('.deletelog:hidden').closest('li').removeClass("ui-li-has-alt");
$('.deletelog:visible').closest('li').addClass("ui-li-has-alt");
}); 

问题是,对于第一个页面加载,即使按钮默认隐藏:

<a href="#" class="deletelog" style="display:none">Delete</a>

我仍然需要添加数据属性 data-split-icon 和 data-split-theme,这使得第一页加载看起来在某种程度上为按钮预留了空间。从上面的代码可以看出,这是因为类“data-split-theme”。因此,如果我切换它,那么它会在第二次切换时消失。

有没有更好的方法来实现这样的切换拆分按钮?

谢谢!

screenshot 1 screenshot 2

最佳答案

您可以通过添加类并使用 jQuery 对其进行操作来显示和隐藏拆分按钮。

展示

$('.delete').css('display', 'compact');

隐藏

$('.delete').css('display', 'none');

看看这个 fiddle http://jsfiddle.net/mayooresan/2XxJx/

更新

在这种情况下,您需要更新 ui-li-aside

的 css
$('.ui-li-aside ').css('margin-right', '50px');

检查这个现场 fiddle http://jsfiddle.net/mayooresan/2XxJx/3/

关于javascript - 动态切换 jQuery 移动 ListView 的拆分按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15699796/

相关文章:

javascript - 为什么 Qunit 无法捕获我正在运行的 2 个以上测试?

javascript - 在全局样式组件中使用 ThemeProvider Prop

javascript - 如何用闭包保存变量状态

javascript - jQuery each() 图像宽度

javascript - 如何使下拉菜单与触发按钮具有相同的宽度

javascript - 使用 jQuery 在请求 header 中设置中文字符

javascript - jQuery 移动 : how to add a checkbox in header of collapsible item

javascript - 使 Mithril 应用程序 SEO 友好

javascript - 使用 JSTL 将对象设置为表格行

Jquery 移动面板固定位置不起作用