时间:2021-05-26
jquerymobile动态添加元素之后有些不能被正确渲染的解决方法:
listview: 添加 jq(".detail").listview("refresh");
div或其他:添加.trigger( "create" );
======================================================================
jqm在初始化页面时会根据data-xxx在各元素中插入jqm的属性和类等。在页面初始化结束后,如果动态的插入一个元素,往往显示很丑陋,因为没有插入jqm的样式。这个可以用浏览器里的开发工具来查看,会发现有些元素多了很多类,而动态插入的元素代码还是你写的那样子。
如果要使动态插入的元素具有jqm的样式,可以对jqm对象触发create事件:
复制代码 代码如下:
<span style="font-size:18px;"> $(selector).trigger('create');</span>
create事件适用范围广,甚至可以是 不存在的元素(raw markup?),比如要插入一个按钮
复制代码 代码如下:
$('<a data-role="button">dy button</a>').appendTo('#content').trigger('create');
有些对象提供了refresh 方法,如listview、flip toggle。与create的区别是refresh方法需要作用在已存在的对象上,如
$('ul').listview('refresh'),而且refresh只会去更新新加入的元素,如listview里最新append的元素会更新,原有的保持不变。(不知有没理解错,有些没测试。原文http://stackoverflow.com/questions/7663078/jquery-mobile-page-refresh-mechanism
不使用jqm样式:
如果不希望jqm自动初始化你的元素,有两种方法。加入data-role="none"属性,或者在mobileinit事件中对keepNative选项进行配置
复制代码 代码如下:
$(document).bind('mobileinit',function(){
$.mobile.page.prototype.options.keepNative = "select, input.foo, textarea.bar";
});
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、问题描述 用jQuery的append()方法动态添加了一段html代码之后,发现在为新添加的元素绑定click事件时无法获取该新元素。二、解决方法 度
遇到jquery无法为动态生成的元素添加点击事件,谷歌一下,整理一下解决方法如下:(中间的元素是动态生成的),现在想为添加点击事件,例子如下:这是元素内容//i
本文实例讲述了jqueryhtml添加元素/删除元素操作。分享给大家供大家参考,具体如下:添加元素添加新的HTML内容将学习用于添加新内容的四个jQuery方法
调试时巧用console.log(),这比用alert()方便多了。jquery易错点:元素拼接的时候,元素还未添加到DOM,就用该预添加元素操作。ajax动态
当我们使用Ajax或者javascript动态在页面上添加元素后,如添加select控件的option元素,添加ul的li元素。添加之后我们会发现,它们显示的样