2012-07-09 98 views
2

我试图将按钮的图标更改为另一个,但不工作。更改按钮的图标jQuery Mobile

我:

<a id="login" href="login.html" data-role="button" data-icon="user" data-iconpos="top">Login</a> 

而我所做的:

$('#login').data('icon', 'user_highlight'); 
$('#login').button("refresh"); 

但没有奏效。我该如何解决?

+0

有你创建了必要的CSS规则这工作? http://jquerymobile.com/demos/1.1.0/docs/buttons/buttons-icons.html - 请参阅底部附近的“自定义图标”部分。 – Jasper 2012-07-09 23:24:40

+0

是的,但图标没有出现。 – 2012-07-09 23:45:50

+0

您应该发布该CSS代码以供审阅。如果您使用文档页面上使用的确切规则,那么您将需要添加一个'!important'标志,否则您可以使您的CSS规则声明更具体一些,如:'.ui-mobile .ui-page .ui-btn.ui-icon-user {...}'。 – Jasper 2012-07-09 23:48:35

回答

-2

试着将代码更改图标在pageshowevent

$('#page2').bind('pageshow', function() { 
     $('#login').data('icon', 'user_highlight'); 
     try { 
      $('#login').button("refresh"); 
     } catch (e) { 
      $('#login').button(); 
     } 
    }); 
+0

不幸的是,这不起作用。 – Brad 2013-12-11 00:04:53

+0

@Brad我相信它在我发布它的时候已经有效了,到现在为止还有一个更新版本的JQM正在使用中。 – Jack 2013-12-11 01:42:48

5

看到这个answer。基本上你使用buttonMarkup。

$('#login').buttonMarkup({ icon: "star" }); 

看到工作示例fiddle

0

buttonMarkup办法就是不为我工作,但手动办法做工作:

$('#login').removeClass('ui-icon-foo').addClass('ui-icon-bar').trigger('refresh');