相关疑难解决方法(0)

强制jQuery Mobile重新评估动态插入内容的样式/主题

目标: 通过加载HTML内容$.ajax,将其插入DOM,让jQuery Mobile应用主题样式.

问题: 内容被插入但缺少jQuery Mobile主题.

码:

$.ajax({
    ...
    success: function(html) {
        $('#container').append(html);
        $('#page').page('refresh', true);
    }
});
Run Code Online (Sandbox Code Playgroud)

返回的HTML包含data-rolejQM应该样式的标签......

<a data-role="button">Do Something</a>
Run Code Online (Sandbox Code Playgroud)

我没有应用它应该的样式,而是出现以下错误:

未捕获的异常:没有这样的方法'刷新'页面小部件实例


以上代码测试使用 http://code.jquery.com/mobile/latest/jquery.mobile.js


类似的问题让我收到上述错误信息:

使用适当的jQuery Mobile样式一致地更新页面

JQM(jQueryMobile)动态添加了未正确显示的元素,并且未应用CSS

jQuery Mobile - 动态创建表单元素

jquery-mobile

55
推荐指数
4
解决办法
5万
查看次数

AngularJS + jQuery Mobile没有适配器和禁用路由 - 仅用于UI样式

我正在学习AngularJS并构建了一个小应用程序.现在功能已经完成了,我想用jQuery Mobile来设置它.

最初我放弃了tigbro的jquery-mobile-angular-adapter,但最终决定它比我需要的更复杂和更复杂.我不是在jQuery Mobile中进行任何花哨的屏幕转换或页面管理功能 - 我只是想用它来设置应用程序的样式,让AngularJS处理剩下的事情.

我读过这篇文章,它有着相同的目标,尽管有另一个框架,并且包含一个禁用jQuery Mobile路由的代码片段.

我已按照脚本加载的顺序将该代码段应用于我的应用程序,就在关闭正文标记之前:

  1. jQuery的
  2. 片段
  3. jQuery Mobile
  4. AngularJS

这个片段放置是唯一可行的,或者在某种程度上可行的,因为我的索引中的任何内容都正确加载样式(基本上是标题和主导航),我的AngularJS路径工作得很好,但任何动态加载的模板都填充了我的ng -view,尽管有jQuery Mobile数据角色(如列表视图等),但jQuery Mobile并没有设置样式; 它们只是简单的HTML.

有没有人知道如何让这些动态加载的模板也被设置样式?

我的索引HTML结构如下所示:

<body>
    <div data-role="page">
        <div data-role="header" data-position="fixed">
            <h1>MyApp</h1>
                <a href="#/home">Home</a>
            <a href="#/add_item">Add</a>
        </div>

        <div data-role="content" ng-view></div>
    </div>
    <!-- Scripts -->
</body>
Run Code Online (Sandbox Code Playgroud)

这是我的一个模板的示例:

<ul data-role="listview" ng-controller="MyListCtrl">
    <li ng:repeat="item in things">
        <a href="#/item/{{ item.ID }}">{{ item.title }}<br/>{{ formatDateForDisplay(item.addDate) }}</a>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript jquery-mobile angularjs

9
推荐指数
1
解决办法
7854
查看次数

Jquery移动样式不适用于第二次导航到详细信息页面

当我第二次导航到详细信息页面时,页面变得赤裸裸,所有样式都从页面消失,我可以找出原因,例如http://jsfiddle.net/Hpyca/24/

HTML

<div data-role="page" id="dashBoardPage" data-bind="with: dashboardData">
   <button type="button" data-bind="click: goToList">DashBoard!</button>
</div>
<div data-role="page" id="firstPage" data-bind="with: hospitalList">
   <div>
      <div id="listViewDiv">
         <ul data-role="listview" data-bind="foreach: hospitals">
            <li data-bind="click: $parent.selectHospital">
               <h2>Hospital Id:<span data-bind="text:id"></span></h2>
               <p>Name <span data-bind="text:name"></span></p>
            </li>
         </ul>
      </div>
   </div>
</div>
<div data-role="page" id="detailsView" data-bind="with: hospitalList.selectedHospital">
   <a href="#firstPage">Back</a>
   <a href="#dashBoardPage">Home</a>
   <div>
      <div data-role="tabs" id="tabs">
         <div data-role="navbar">
            <ul>
               <li><a href="#one" data-ajax="false">Info</a></li>
               <li><a href="#two" data-ajax="false">Details</a></li>
            </ul>
         </div>
         <div id="one" class="ui-body-d ui-content">
            <h2>Hospital Id : <span data-bind="text:id"></span></h2>
         </div>
         <div id="two">
            <h2>Id : <span data-bind="text:id"></span></h2>
            <input …
Run Code Online (Sandbox Code Playgroud)

css jquery jquery-mobile knockout.js

7
推荐指数
1
解决办法
665
查看次数

为什么Handlebarsjs模板缺少jquery移动CSS样式?

我在一个jquery移动页面中使用Handlebarsjs,当我从服务器发回数据时,它被插入到模板中......但是没有一个jquery移动CSS样式应用于模板内的代码.

我的模板看起来像这样:

            <script id="card_list_template" type="text/x-handlebars-template">
            {{#each this}}
            <li>
                <a href="#">
                    <img src="{{path}}" />
                    <h3>{{first_name}}&nbsp;{{last_name}}</h3>
                    <p>Card Owner:&nbsp;{{user_id}}</p>
                </a>
            </li>
            {{/each}}
        </script>
Run Code Online (Sandbox Code Playgroud)

上面的代码块插入到这个无序列表中:

<ul id="search_results" data-role="listview" data-theme="a">

data-role ="listview"应该将某种样式应用于列表项,但它不适用于通过模板生成的项.

jquery jquery-mobile handlebars.js

2
推荐指数
1
解决办法
1468
查看次数

JQuery Mobile附加新按钮的行为不符合预期

可能重复:
jQuery Mobile在动态添加内容后不应用样式

我想知道我在这里遗失了什么......

如果我写

<a onclick="deleteThis()" data-role="button" data-theme="a">Button text</a>
Run Code Online (Sandbox Code Playgroud)

在HTML页面的正文中它可以正常工作.但是当我以编程方式尝试使用以下内容添加新按钮时:

$('.block').append('<a onclick="deleteThis()" data-role="button" data-theme="a">' + results[i].Title + '</a>');
Run Code Online (Sandbox Code Playgroud)

只是没有JQuery移动样式,链接很好地附加,data-theme ="a"应该将特定颜色样本css应用于相关元素.

我哪里错了?

javascript jquery jquery-mobile

1
推荐指数
1
解决办法
2781
查看次数

jQuery动态元素 - 未应用样式

我有2 Button,当点击时,添加一个新段落或删除当前段落.这是使用完成的jQuery.我也jQuery用来将段落文本的颜色从黑色更改为红色hover.我遇到的问题是,在添加新段落后jQuery,悬停效果未应用于它.它适用于原始段落,但不适用于动态创建的段落.

当我查看source code页面时,我看到原始段落应用了内联样式,但不是我添加的内容jQuery.我一直在寻找最后一小时试图寻找解决方案,但到目前为止没有一个对我有用.我发现了一些类似的问题,但解决方案要么对我不起作用,要么我没有正确应用它们.问题是我jQuery几个小时前开始学习,因此无法确定我是在修理某些东西还是让它变得更糟.此外,我所看到的大多数问题都与jQuery移动设备有关,因为我正在使用我的电脑,这让我更加困惑.

http://jsfiddle.net/2Xh75/

HTML

<button>Add line</button>
<button>Remove line</button>

<div id="p_wrap">
    <p> Original Line </p>
    <p> Original Line </p>
    <p> Original Line </p>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(document).ready(function(){

    //Add line   
    $("button:nth-of-type(1)").click(function(){
        $("#p_wrap").append("<p>New Line</p>");
    });

    //Remove line
    $("button:nth-of-type(2)").click(function(){
    $("p:last-of-type").remove();
    });

    //Hover effect
    $("p").hover(
      function(){
          $(this).css("color", "red");
      },
      function(){
          $(this).css("color", "black");
      }
    );

}); // Document Ready End
Run Code Online (Sandbox Code Playgroud)

以下是我已经看过的一些问题:

强制jQuery Mobile重新评估动态插入内容的样式/主题

动态添加内容后,jQuery Mobile不会应用样式

jquery样式未应用于动态创建

我提前道歉,因为这可能是一个noob问题,但它让我难过,我会感激任何帮助.

-谢谢

css jquery dynamic styling

0
推荐指数
1
解决办法
1万
查看次数