0

好吧,今天我正在处理一个意想不到的问题!

我正在使用什么:zend jquerymobile

目标:该按钮应保持“按下”状态,直到按下另一个按钮。

<div data-role='controlgroup' data-type='horizontal' data-mini='true'>
<a id='btnMap' class='ui-btn-active' href='javascript:flipViews(this)' data-role='button'>Map</a>
<a id='btnListe' href='javascript:flipViews(this)' data-role='button'>Liste</a>
</div>

我得到什么:

当我警告函数中的对象时,它是一个“对象 DOMWindow”对象,如果我警告 objectparam.id,我得到未定义。

我想我应该(我想)得到元素对象!

p

4

3 回答 3

0

href使用从,调用的函数this是窗口对象。

您应该在外部 JavaScript 中绑定点击处理程序:

$('#btnListe, #btnMap').on('click', flipViews);

并且您的flipViews方法将this在方法中使用,而不是您传入的参数。

不要使用内联 JavaScript,尤其是 jQuery!

于 2012-05-15T14:45:25.647 回答
0

为此,您最好使用不显眼的 javascript。与其在 HTML 中分配事件回调,不如使用 jquery 的事件绑定 API 分配它:

$('#btnMap').click(function(e) {

  // prevents the click from navigating page to the href attribute
  e.preventDefault();

  // call your function with "this", which jQuery scopes to the clicked element
  flipViews(this);
});
于 2012-05-15T14:45:50.103 回答
0

你应该把 JavaScript 放在里面onclick

<a id='btnListe' href='#' onclick='flipViews(this);' data-role='button'>Liste</a>
于 2012-05-15T14:41:26.380 回答