【发布时间】:2011-01-18 05:55:14
【问题描述】:
我在控制组中有几个按钮来表示开/关,我想在单击时切换它们的主题。当我单击其中一个按钮时,我可以更改主题,但是一旦我移动鼠标使其不悬停在它上面,它就会将主题更改回原来的样子。我怎样才能让主题坚持下去?这是我的按钮和 javascript:
<div data-role="controlgroup" data-type="horizontal">
<div title="lights.MyLight.ON" data-role="button">ON</div>
<div title="lights.MyLight.OFF" data-role="button" data-theme="b">OFF</div>
</div>
$("div[title]").click(function() {
var action = this.title;
jQuery.fn.log(action);
$.ajax({
url: 'do.php?a='+action,
cache: false
});
var cls = this.getAttribute('class');
var pcs = cls.split(" ");
var color = "";
cls = "ui-btn " + pcs[1];
if(pcs.length > 3)
{
color = pcs[3].split("-");
cls = cls + " ui-controlgroup-last"
}
else
{
color = pcs[2].split("-");
}
cls = cls + " ui-btn-up-b";
this.setAttribute('data-theme', 'b');
this.setAttribute('class', cls);
});
【问题讨论】:
-
你是否碰巧有一个 onmouseout 事件监听器附加到 div(或任何父元素)?
标签: javascript ajax jquery mobile