1. 程式人生 > >jquery在ajax新新增的元素後繫結事件click

jquery在ajax新新增的元素後繫結事件click

使用YII在做一個點選小圖,可以在彈出視窗中顯示大圖的功能的時候,發現,GridView首頁面的列表項按點選時一切正常,但按下了下一頁後, 再點選小圖,就不起作用了。原來,這是GridView使用了ajax分頁,分頁後的元素是新增加的,所以不會繫結事件,要改變這樣的狀況,可以如下方法解決。

原來的程式碼:admin.php

$(document).ready(function(){
        $(".r_img img").click(function(){
            var path=$(this).attr("src");
            $("#show_img img").attr({src:path});
            $("#mydialog").dialog("open");
        });
    });

修改後的程式碼:

  $(document).on('click',".r_img img",function(){
      var path=$(this).attr("src");
            $("#show_img img").attr({src:path});
            $("#mydialog").dialog("open");
  });

相關推薦

jquery在ajax新增元素事件click

使用YII在做一個點選小圖,可以在彈出視窗中顯示大圖的功能的時候,發現,GridView首頁面的列表項按點選時一切正常,但按下了下一頁後, 再點選小圖,就不起作用了。原來,這是GridView使用了ajax分頁,分頁後的元素是新增加的,所以不會繫結事件,要改變這樣的狀況,可

專案總結之 jquery中,使用append增加元素時,新增元素監聽事件失效的解決辦法

$(“outerSelector”).on(“eventType”,“innerSelector”,function(){}); 舉例:如果在一個 中,通過append新增一個id="demo"的按鈕,常用的直接$(“Selector”).on(“eventType”,function

append 新增元素重新事件

在jQuery當中append是動態向頁面中新增元素的常見方法,但是很多時候append新增之後的節點再次繫結事件(比如click)的時候,就會發現click失效,這時候就會涉及到,on()高版本的jQuery中.on()啟用之後bind和live都已經失效。  再說上面的問

jquery在ajax加入的元素綁定事件click

path pen con art yii 例如 () click bsp 使用YII在做一個點擊小圖。能夠在彈出窗體中顯示大圖的功能的時候,發現。GridView首頁面的列表項按點擊時一切正常,但按下了下一頁後。 再點擊小圖,就不起作用了。原來,這是GridView

jquery 解決使用append新增元素監聽事件消失的解決方案

假設想要在id為target的div中append一個元素 原監聽事件格式為: $(".textBox").mouseover(function() {}); 修改為: $("#target").on(“mouseover”, “.textBox”, fun

jQuery動態生成的元素如何事件

 這段時間在寫程式碼的時候遇到一個問題,通過append()新增的節點,點選事件不起作用。當時我百思不得其解,各種找錯都沒找到錯誤的原因。後來才發現是動態生成節點的問題,還是自己沒有經驗啊。   下面來

jQuery動態新增li標籤並新增屬性和事件

程式碼如下: <%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/h

用jquery給元素動態事件及樣式

網頁輸出的時候,可以用jquery給各種元素繫結事件,或設定樣式。之所以這樣做,好處是節省程式碼,尤其適合元素很多,並且元素的事件對應的函式雷同的情況。看看以下程式碼: <div id="divUserList"> <span><a href

jQuery 插入元素事件 或 已載入的html事件

//已載入好的$("user-news").click(function(){ alert(""); });<div class="user-center pull-right"> <img class="member-drop-down

jQuery向動態新增的元件事件

jquery中繫結事件一般使用bind,或者click,但是這隻能是對已經載入好的元素定義事件,那些後來新增插入的元素則需要另行繫結。在1.7版本以前使用live。但是在1.8版本以後推薦使用on。 $('body').on('click','.admi

C#winform中動態新增button並事件

<strong><span style="font-size:18px;">最近做的專案中用到的,新手很多不懂的地方,一點一點學習弄出來的,記錄一下</span>&

jQuery事件注意事項

注意:無論是JS還是jQuery在後繫結是事件時,都必須在頁面載入完以後 JS:window.onload=function(){} jQuery:$(function(){}) 相同點:都表示頁面載入後執行的程式碼 不同點:window.onload=function()

ajax載入的元素無法事件問題解決

問題 點選搜尋查詢,顯示前10條查詢結果和一個”下一頁“按鈕,然後點選下一頁按鈕顯示下一頁結果和下一頁按鈕…遇到的問題是,點選下一頁按鈕沒有按照js裡面寫的方法去訪問連結,後來發現問題是沒有繫結上ajax寫的post方法。 程式碼: $('#searc

jQuery 新增元素事件無效

  jQuery中事件繫結,大多使用on就足夠了。 但是對於新新增的元素 on 的繫結事件 會不起作用。 因為 append 中的 節點是在整個文件載入之後才新增的,頁面並不會為未來的元素初始化新增點選事件,因此 這種方式新增的 節點的點選事件是無效的。 解決方法: 事件委託。事件委託就是

jQuery-為動態新增元素事件(以及不重複新增的內容)

在使用jQuery的方式為元素繫結事件時,我經常使用bind或者click,但這隻能為頁面已經載入好的元素繫結事件。像需要用ajax的方式請求遠端資料來動態新增頁面元素時,顯然以上幾種繫結事件的方式是無效的 $(selector).bind(event,d

JQuery —— 新建、新增增至某元素、屬性新增、單擊事件

$("<nav></nav>"):建立元素 append:向當前元素中新增目標元素 appendTo:向目標元素中添加當前元素 addClass:向當前元素新增"class"屬性 removeClass:刪除當前元素的"class"屬性 attr:向

為同一個元素新增相同名字的處理函式的不同事件—通過switch語法

要點: 1.switch語法跟break語法結合使用,才能達到效果,滿足條件後,執行出路函式,然後跳出迴圈。 2.這裡的.type是返回的是事件的繫結型別,如click。區別與typeof 判斷的是值的型別,如 "undefined"。 程式碼: <!DOCTYPE html&

jQuery動態新增元素事件

  今天在做專案是時候發現動態新增的元素不能繫結事件,由於本人js和jquery技術有限,所以也不知道原因,一查才知道,動態新增的元素繫結事件就會失效,所以修改了一下。 jquery中繫結事件一般使用bind,或者click,但是這隻能是對已經載入好的元素定義事件,那些後來新增插入

jquery html 動態新增元素事件

由於實際的需要,有時需要往網頁中動態的插入HTML內容,並在插入的節點中繫結事件處理函式。我們知道,用Javascript向HTML文件中 插入內容,有兩種方法, 一種是在寫HTML程式碼寫入JS,然後插入到文件中; 另外一種是通過ajax的方式,從伺服器獲取資料,然

jquery html動態新增元素事件

在實際開發中會遇到要給動態生成的html元素繫結觸發事件的情況: <div id="testdiv">    <ul></ul> </div> 假設我們要給ul動態新增的<li>繫結click事件形成如下結果 &