passing "this" dom element -jquerymobile, zend-
passing "this" dom element -jquerymobile, 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
你应该把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);
});
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中