//PHPCategories
"; if(mysqli_num_rows($run_query)>0){ while($row = mysqli_fetch_array($run_query)){ $cid = $row["cat_id"]; $cat_name = $row["cat_title"];//問題在這裡 echo "$cat_name "; } echo ""; }}if(isset($_POST["brand"])){ $brand_query = "SELECT * FROM brands"; $run_query = mysqli_query($con,$brand_query); echo " Brands
"; if(mysqli_num_rows($run_query)>0){ while($row = mysqli_fetch_array($run_query)){ $bid = $row["brand_id"]; $brand_name = $row["brand_title"]; echo "$brand_name "; } echo ""; }}if(isset($_POST["getProduct"])){ $product_query = "SELECT * FROM products ORDER BY RAND() LIMIT 0,9"; $run_query = mysqli_query($con,$product_query); if(mysqli_num_rows($run_query) >0 ){ while($row = mysqli_fetch_array($run_query)){ $pro_id = $row['product_id']; $pro_cat = $row['product_cat']; $pro_brand = $row['product_brand']; $pro_title = $row['product_title']; $pro_price = $row['product_price']; $pro_image = $row['product_image']; echo " $pro_title $.$pro_price.00 AddToCart "; } }}?>
//JS $(document).ready(function() { cat(); brand(); product(); function cat() { $.ajax({ url: 'action.php', type: 'POST', data: { category: 1 }, }) .done(function(data) { //console.log(data); $("#get_category").html(data); }); } function brand() { $.ajax({ url: 'action.php', type: 'POST', data: { brand: 1 }, }) .done(function(data) { //console.log(data); $("#get_brand").html(data); }); } function product() { $.ajax({ url: 'action.php', type: 'POST', data: { getProduct: 1 }, }) .done(function(data) { //console.log(data); $("#get_product").html(data); }); } //使用 delegate() 方法。on不能擷取 $("body").delegate(".category", "click", function() { alert(123); }) // $(".category").on("click", function(event) { // alert(13); // });})
我用on的方法為什麼點擊沒反應?而delegate卻有?是不是因為這個class寫在php上,on不能讀取?還是怎麼樣?
回複內容:
//PHPCategories
"; if(mysqli_num_rows($run_query)>0){ while($row = mysqli_fetch_array($run_query)){ $cid = $row["cat_id"]; $cat_name = $row["cat_title"];//問題在這裡 echo "$cat_name "; } echo ""; }}if(isset($_POST["brand"])){ $brand_query = "SELECT * FROM brands"; $run_query = mysqli_query($con,$brand_query); echo " Brands
"; if(mysqli_num_rows($run_query)>0){ while($row = mysqli_fetch_array($run_query)){ $bid = $row["brand_id"]; $brand_name = $row["brand_title"]; echo "$brand_name "; } echo ""; }}if(isset($_POST["getProduct"])){ $product_query = "SELECT * FROM products ORDER BY RAND() LIMIT 0,9"; $run_query = mysqli_query($con,$product_query); if(mysqli_num_rows($run_query) >0 ){ while($row = mysqli_fetch_array($run_query)){ $pro_id = $row['product_id']; $pro_cat = $row['product_cat']; $pro_brand = $row['product_brand']; $pro_title = $row['product_title']; $pro_price = $row['product_price']; $pro_image = $row['product_image']; echo " $pro_title $.$pro_price.00 AddToCart "; } }}?>
//JS $(document).ready(function() { cat(); brand(); product(); function cat() { $.ajax({ url: 'action.php', type: 'POST', data: { category: 1 }, }) .done(function(data) { //console.log(data); $("#get_category").html(data); }); } function brand() { $.ajax({ url: 'action.php', type: 'POST', data: { brand: 1 }, }) .done(function(data) { //console.log(data); $("#get_brand").html(data); }); } function product() { $.ajax({ url: 'action.php', type: 'POST', data: { getProduct: 1 }, }) .done(function(data) { //console.log(data); $("#get_product").html(data); }); } //使用 delegate() 方法。on不能擷取 $("body").delegate(".category", "click", function() { alert(123); }) // $(".category").on("click", function(event) { // alert(13); // });})
我用on的方法為什麼點擊沒反應?而delegate卻有?是不是因為這個class寫在php上,on不能讀取?還是怎麼樣?
對於動態產生的元素使用on
$('body').on('click','.category' , function() { alert(123); })
在你用一個新 API 之前,應通過文檔充分瞭解它的作用。