[英]Javascript onclick requires two clicks, then creates an increasing amount of server requests
因此,我正在嘗試創建一個JavaScript函數,該函數可獲取一個php頁面並將其顯示在該頁面另一部分的div中。 我已經設法實現了這一點,但是我使用的clicked_id方法最初需要兩次單擊才能注冊ID,然后隨后發送其被單擊的次數,以作為每次后續單擊的請求。 任何幫助將不勝感激。
<script src="/javascript/jquery.min.js"></script>
<script src="demo.js"></script>
<link href="demo.css" type="text/css" rel="stylesheet">
<div id="tabs" ><?php include "tabMenu.php"; ?></div>
<div id="menu"><?php include "menuB.php"; ?></div>
<div id="body" ></div>
<div id="home"></div>
<div id="footer"></div>
var click_id;
var clickId = function(a) {
var obj = a;
var clicks = '#' + obj;
$(clicks).click(function() {
$("#home").load("body/" + obj + ".php");
});
};
$(document).ready(function() {
if ($('#home').is(':empty')) {
$("#home").load("body/call.php")
};
clickId(click_id); {};
});
選項卡菜單中裝有php
<?php
$content = file('tabMenu.txt');
echo '<ul>';
$click= array(
'id="call" onClick="clickId(this.id)"',
'id="policy" onClick="clickId(this.id)"',
'id="client" onClick="clickId(this.id)"',
'id="ifa" onClick="clickId(this.id)"'
);
foreach (array_combine($click,$content) as $code => $lines ) {
echo ('<li '.$code.'>' . $lines . '</li>');
};
echo'</ul>';
?>
我認為您對$(clicks).click()
功能感到困惑–如果將其放在代碼的正確部分,它將與您對onClick="clickId(this.id)"
所做的操作相同,並且這就是為什么您獲得多次點擊的原因。
解決問題的最簡單方法是替換以下代碼:
$(clicks).click(function() {
$("#home").load("body/" + obj + ".php");
});
使用此代碼:
$("#home").load("body/" + obj + ".php");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.