1. 程式人生 > >jquery bind 方法一個特點(繫結多個方法到一個dom的某個事件)

jquery bind 方法一個特點(繫結多個方法到一個dom的某個事件)

目錄:
[TOC]

jquery bind方法介紹

  • 方法宣告:bind(type,[data],fn)
  • 方法說明:為每一個匹配元素的特定事件(eg:click)繫結一個事件處理器函式。這個事件處理函式會通過引數方式接收到一個事件物件,可以通過它來阻止(瀏覽器)預設的行為。如果既想取消預設的行為,又想阻止事件起泡,這個事件處理函式必須返回false。
  • 技巧:多數情況下,可以把事件處理器函式定義為匿名函式。

引數意義

  • type (String) : 事件型別。
  • data (Object) : (可選) 作為event.data屬性值,然後event會被傳遞給事件處理函式,data可以從event中獲取到。
  • fn (Function) : 繫結到每個匹配元素的事件上的處理函式。

示例

當每個段落被點選的時候,彈出其文字:

$("p").bind("click", function(){
    alert( $(this).text() );
});

你可以傳遞一些附加的資料給事件處理函式:

function handler(event) {
    alert(event.data.foo);
}
$("p").bind("click",{foo: "bar"},handler);

你可以通過返回false來取消預設的行為並阻止事件起泡:

$("form"
).bind("submit", function() { return false; })

你可以通過使用preventDefault()方法只取消預設的行為:

$("form").bind("submit", function(event){
    event.preventDefault();
});

你可以通過使用stopPropagation()方法只阻止一個事件起泡:

$("form").bind("submit", function(event){
    event.stopPropagation();
});

進入主題

  • jquery的bind方法呼叫如果呼叫多次是什麼效果呢?
  • 答案是,同一個dom元素的同一個事件會被繫結多次。則直接會導致各種錯誤。有的人由於頁面巢狀很多結構比較複雜,經常出現一段js程式碼被執行多次的情況,如何導致一些莫名其妙的錯誤。這種錯誤一般來說是很難被發現的,因為很少有人會考慮自己的某句程式碼被執行了多少次,而且是由於頁面巢狀導致多次執行的問題。
  • 解決方案,每次呼叫bind方法的時候都先呼叫unbind方法即可。
  • unbind方法是用於解除dom的某個事件上繫結的函式的。

相關推薦

jquery bind 方法一個特點方法一個dom某個事件

目錄: [TOC] jquery bind方法介紹 方法宣告:bind(type,[data],fn) 方法說明:為每一個匹配元素的特定事件(eg:click)繫結一個事件處理器函式。這個事件處理函式會通過引數方式接收到一個事件物件,可以通過它來阻止(瀏

如何理解一臺伺服器可以ip,一個ip可以域名

一個域名只能對應一個IP的意思是域名在DNS伺服器裡做解析的時候 一條記錄只能指向一個IP地址。這個是死規定,試想一下,如果一個子域名指向了2個ip ,當訪問者開啟這個域名的時候,瀏覽器是展示哪個IP上的網站呢?一個IP可以對於多個域名的意思是:一個IP繫結到一臺伺服器的時候,在伺服器上可以設定多個主機頭,每

tomcat下一個專案如何域名

<Host name="localhost" debug="0" appBase="D:\\Tomcat 5.0\\webapps"        unpackWARs="true" autoDeploy="true"        xmlValidation="fa

關於一個伺服器中域名——公司是用阿里雲伺服器--是使用tomcat來

我是使用多個tomcat來新增 由於之前已經有一個tomcat,而且上面已經有了一個專案,專案使用的埠號是8080,然而瀏覽器預設的埠號是80,如果將server.xml修改了埠,那之前的專案就會出錯了,所以要繫結域名又不想更改埠號就建立多一個tomcat了 1.將tom

一個主機nginxSSL證書(https)

由於多域名的ssl證書價錢較高,所以嘗試用多個免費的ssl證書繫結到一個主機上。(捂臉.gif) 第一步 檢查你的nginx是否支援SNI,檢查方式如下 命令:nginx -V 若返回

jQuery bind/One/live三種事件方法的區別

1. bind/Unbind 在jquery的事件模型中,有兩個基本的事件綁 定函式,bind與unbind,這兩個函式的含義就是匹配頁面元素進行相關事件的處理。比如我們在JS中經常使用到的 onfocus,onblur,onmouseover,onmousedown等事件都可以作為bind的引數進行傳遞。$

從零開始學 Web 之 jQuery為元素相同事件,解綁事件

一、為元素繫結多個相同事件 1、方式一 $("#btn").click(function () { console.log("click1"); }).click(function () { console.log("click2"); }).cli

jQuery事件之on()方法選擇器,事件

 這樣一個需求,如果用live()方法實現的話 非常簡單,容易理解。 $('nav li, #sb-nav li, #help li').live('click',function(){// code...}); jquery在1.7版本後,建議大家用on方法代替之前的

【常用】查詢輸入框:一個關鍵字屬性(包括int、string不同的型別)

從input獲取輸入一個待查詢關鍵字key,前端不區分,傳到後臺再進行處理,基本邏輯如下: //根據訂單號(int)或者供應商名稱(string)查詢訂單 if (!string.IsNullOrEmpty(key)) { var Id = MathTools.ToInt(key);

一個ip域名

一個ip繫結一個域名 apache伺服器文章中我有介紹apache配置網站,講解一個ip繫結一個域名的步驟和方法。 配置過程: 啟動httpd-vhosts.conf(在httpd.conf檔案中,找到Virtual hosts虛擬主機)

JQuery - on事件

一、jquery為多個選擇器繫結同一個事件 $("#start,#end").on("click",function(){     alert("The paragraph was clicked."); }); 二、多個事件繫結同一個函式 $("p").on("mouseover

【v-on】一個元素事件以及一個事件函式的兩種寫法

本文程式碼主要講述了v-on繫結事件函式傳參,一個元素繫結多個事件的兩種寫法,一個事件繫結多個函式的兩種寫法,修飾符的使用。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8

Tomcat域名和配置虛擬目錄的方法

server.xml 的修改方式如下: (一)多域名繫結 1.如果你要繫結網站,首先是要把tomcat的預設訪問埠8080,修改成80 原始: <Connector port="8080" maxHttpHeaderSize="8192" maxThreads

ButterKnife之三:Adapter中ButterKnife核心常用功能使用替代findviewbyid,替代OnClickListener以及id監聽事件

在上一篇“ButterKnife之一:Activity中ButterKnife核心常用功能使用(替代findviewbyid,替代OnClickListener以及繫結多個id監聽事件)”中對ButterKnife已經做了相對較詳細的介紹,本篇只對Adapter中ButterKnife使用的程式

ButterKnife之二:Fragment 中ButterKnife核心常用功能使用替代findviewbyid,替代OnClickListener以及id監聽事件

在上一篇“ButterKnife之一:Activity中ButterKnife核心常用功能使用(替代findviewbyid,替代OnClickListener以及繫結多個id監聽事件)”中對ButterKnife已經做了相對較詳細的介紹,本篇只對Fragment 中ButterKnife使用的

ButterKnife之一:Activity中ButterKnife核心常用功能使用替代findviewbyid,替代OnClickListener以及id監聽事件

ButterKnife是一個註解類,ButterKnife開源框架以其強大的view繫結和click事件處理功能,大大減少程式碼量,節省開發時間,提高開發效率,而且ButterKnife在adapter中的使用也方便的處理了adapter中ViewHodler的繫結問題,下面就學習內容做簡單記錄

apache2虛擬主機實現一個伺服器域名

1.apache2的配置 首先要配置好apache2,如果未配置,請參考我之前的博文:lamp的配置 2.域名的解析 將全部域名的www和@的A記錄解析到雲伺服器的IP 3.虛擬主機的配置

jquery on事件

一、jquery為多個選擇器繫結同一個事件 $("#start,#end").on("click",function(){     alert("The paragraph was clicked."); }); 二、多個事件繫結同一個函式

Netty ServerBootstrap 程式碼示例

EventLoopGroup bossGroup = new NioEventLoopGroup(); EventLoopGroup workerGroup = new NioEventLoopGroup(); try { ServerBoot

一個頁面onscroll事件

預設一個頁面只能同時存在一個window.onscroll函式。有的時候我們會引入工具的js框架,在框架中使用onscroll統一監聽每個頁面,但是在某個頁面,我們可能還要使用onscroll來監控滾動條,完成具體某個業務邏輯,這是該怎麼做呢? 方法1:只適用有兩個滾動事件共存時適用,當有多