取消选择jQuery链接按钮

时间:2012-10-12 06:54:27

标签: javascript jquery html5 cordova jquery-mobile

我在jQuery的链接按钮有问题。我在网上找到的大多数论坛条目,搜索“jQuery链接按钮取消选择”处理表单按钮或复选框而不是链接按钮。所以我希望有人可以帮助我: - )。

问题描述:我的网页上有一些静态链接底部,点击它我调用了一个javascript函数并更改了按钮上的文本。现在我的问题是在更改文本后仍然选择按钮,这是不应该的。

的index.html:

<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  <script src="jquery-mobile/jquery.mobile-1.0.min.js"  type="text/javascript"></script>
  <script src="basic.js" type="text/javascript"></script>
</head>
<body>
...
<a href="#" data-role="button" onmouseup="nextStep(1)" id="button1">Example1</a>
<a href="#" data-role="button" onmouseup="nextStep(2)" id="button2">Example2</a>
<a href="#" data-role="button" onmouseup="nextStep(3)" id="button3">Example3</a>
...
</body>

basic.js

function nextStep(buttonIndex){
  $("#button1 .ui-btn-text").text("Example4");
  $("#button2 .ui-btn-text").text("Example5");
  $("#button3 .ui-btn-text").text("Example6");
}

上面的代码就是我正在做的一个例子。如何在设置新文本后开始描述仍然选择按钮。有人知道取消选择按钮的解决方案吗?

所选按钮的图片:http://up.picr.de/12133494ev.png

感谢您的帮助: - )。

托马斯

-------------------------


感谢您的快速回复。我尝试了提案

function nextStep(buttonIndex){
  $("#button1 .ui-btn-text").text("Example4").removeClass('ui-btn-active');
  $("#button2 .ui-btn-text").text("Example5").removeClass('ui-btn-active');
  $("#button3 .ui-btn-text").text("Example6").removeClass('ui-btn-active');
}

不幸的是,它并不像预期的那样有用。更确切地说,我看不出行为的任何变化。

  

请注意,您的网页可能会出现其他会导致此类行为的元素。

按钮是包含其他元素(标题和表格)的页面的一部分,我通过javascript更改内容。但对我来说,目前尚不清楚这应该如何影响按钮的行为。

示例:

var table = document.getElementById('solution');
var cell = table.rows[1].cells[1];
cell = table.rows[2].cells[1];
cell.firstChild.data = "";
cell = table.rows[3].cells[1];
cell.firstChild.data = "";
cell = table.rows[4].cells[1];
cell.firstChild.data = "";
...

$("#headline").empty();
headlineOutput = "Buttons";
$("#headline").append(headlineOutput);

有任何建议或提示吗?

谢谢。

-------------------------


function nextStep(buttonIndex){
  $("#button1 .ui-btn-text").text("Example4").blur();
  $("#button2 .ui-btn-text").text("Example5").blur();
  $("#button3 .ui-btn-text").text("Example6").blur();
}

此提案也没有改变行为: - (。

我遗漏了Qt函数“setCheckable(false)和setFocusPolicy(Qt :: NoFocus)”; - )。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

试试这个:

function nextStep(buttonIndex){
  $("#button1 .ui-btn-text").text("Example4").blur();
  $("#button2 .ui-btn-text").text("Example5").blur();
  $("#button3 .ui-btn-text").text("Example6").blur();
}

如果这不起作用,请尝试:

function nextStep(buttonIndex){
  $("#button1 .ui-btn-text").text("Example4").removeClass('ui-btn-active');
  $("#button2 .ui-btn-text").text("Example5").removeClass('ui-btn-active');
  $("#button3 .ui-btn-text").text("Example6").removeClass('ui-btn-active');
}

答案 1 :(得分:1)

我在这里创建了一个小提琴:http://jsfiddle.net/japanick/Lc9rp/

从您拥有的代码开始,它按预期工作。你可以尝试一下,看看它是否按预期工作。请注意,您的网页可能会出现其他会导致此类行为的元素。