Javascript仅在第一次刷新后工作?
你知道为什么下面的javascript函数只在我刷新页面一次后才起作用吗? 我试着把函数放在页面的底部,但仍然不起作用。 我觉得这与代码运行的顺序有关,但我无法确定具体在哪里。Javascript仅在第一次刷新后工作?,javascript,jquery,mobile,refresh,Javascript,Jquery,Mobile,Refresh,你知道为什么下面的javascript函数只在我刷新页面一次后才起作用吗? 我试着把函数放在页面的底部,但仍然不起作用。 我觉得这与代码运行的顺序有关,但我无法确定具体在哪里。 我认为这是Ajax的一个问题,我不懂php,但我的asp.NETMVC应用程序中也有类似的东西。我使用jquery和on方法解决了这个问题。 请查看此编辑: 建立这可能适用于所有拥有javascript页面的用户。问题是jquery需要在围绕javascript的div标记中有一个属性。看看我在编辑中发布的链接。尝试将
我认为这是Ajax的一个问题,我不懂php,但我的asp.NETMVC应用程序中也有类似的东西。我使用jquery和on方法解决了这个问题。 请查看此编辑:
建立这可能适用于所有拥有javascript页面的用户。问题是jquery需要在围绕javascript的div标记中有一个属性。看看我在编辑中发布的链接。尝试将您的函数置于settimeout javascript函数下…并将超时设置为100ms您的意思是,无论您从结果集中单击哪个链接,incrementIssue函数都只执行一次?问题是,我不希望函数在加载时运行。这是一个ajax函数,所以我只希望在有人单击按钮时运行它。看看这个,没问题。只需在Google上搜索一下:D
function incrementIssue(id) {
var row = "#row" + id;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("issue"+id+"Upvote").innerHTML=xmlhttp.responseText;
//$(row.toString()).find('.ui-icon').removeClass('ui-icon-custom').addClass('ui-icon-arrow-d');
}
}
xmlhttp.open("GET","incrementIssue.php?q="+id,true);
xmlhttp.send();
}
</script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="docs/themes/blue/jquery.mobile-1.2.0.css">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
</head>
<body>
<div data-role="page" id="pageone">
<div data-role="header">
<h1>Pithy</h1>
<div data-role="navbar">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="issues.php">View Issues</a></li>
<li><a href="add.php">Add Issue</a></li>
</ul>
</div>
</div>
<div data-role="main" class="ui-content">
<ul data-role="listview" data-inset="true" data-split-theme="c" >
<?php
mysql_connect($hostname, $username, $password) OR DIE ("Unable to
connect to database! Please try again later.");
mysql_select_db($dbname);
//Fetching from your database table.
$query = "SELECT * FROM $usertable";
$result = mysql_query($query);
if ($result) {
while($row = mysql_fetch_array($result)) {
$issue = $row["issueName"];
$upvotes = $row["upvotes"];
$id = $row["issueID"];
echo "<li data-icon=\"arrow-u\" id=\"row".$id . "\"> <a data-transition=\"pop\" href=\"point.php?id=". intval($id). "\">".$issue ."</a><a href=\"javascript:incrementIssue(".$id.");\"></a> <span id=\"issue".$id."Upvote\" class=\"ui-li-count\">" .$upvotes."</span></li>";
}
}
?>
</ul>
</div>
<div data-role="footer">
<h6>See what's important.</h6>
</div>
</div>
</body>
</html>