下面的代码给了我一个警报,里面只有一个 # 符号。为什么?
编辑:我应该注意,代码位于 jQuery .click 事件内部...如果我将其放置在该事件之外,它可以正常工作。这是更完整的代码:
$('#continue').click(function(){
var _href = $("#continue").attr("href");
alert(_href);
});
<a href="selectRadius.html" data-icon="arrow-r" id="continue" style="float:right;" data-role="button" data-inline="true">Continue</a>
EDIT2:这在 jsfiddle 中一切正常。但在 xcode iphone 模拟器中我只是得到#。
最佳答案
仅从您输入的代码来看,代码可能运行得太早。尝试将 JS 包裹在
中$(function() {
// your code here
});
或者
$(document).ready(function(){
// your code here
});
更新:
嗯,因为它是一个 iPhone 模拟器,所以它改变了一些事情。请记住,除非您提供问题的所有细节,否则没有人可以帮助您,无论他们有多少经验。
您是否尝试过 touchstart/touchend/tap 事件而不是 click ?据我所知,Apple 在点击事件方面一直存在问题。另外,移动设备上的点击事件的响应速度会较慢(如果我没记错的话,延迟约为 300 毫秒),因此您最好只使用触摸特定事件。
你在 build 什么?它是移动网络应用程序还是?它会在标准移动浏览器或 PhoneGap 等浏览器中运行吗?
更新2:
好的。只要 Click 时未调用该代码,它就可以工作。这消除了另一段代码用另一个值替换“href”的可能性,因为该代码必须位于您的 $('#continue').click(function(){ });
block 。
点击事件是在触摸手机上模拟的,这就是为什么触摸事件更快(它们是原生的)并且不太可能引起问题。您还应该确保在那里返回 false 并且不点击该链接,这可能会替换您的“href”。
关于javascript - 无法提醒 href val?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10771294/