passing "this" dom element -jquerymobile, zend-

passing "this" dom element -jquerymobile, zend-

本文关键字:quot zend- -jquerymobile this passing dom element      更新时间:2023-09-26

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

我正在使用什么:赞德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

你应该把JavaScript放在onclick里:

<a id='btnListe' href='#' onclick='flipViews(this);' data-role='button'>Liste</a>

href 调用函数时,this 是窗口对象。

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

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

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

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

为此

,最好使用不显眼的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);
});