محمد افاضاتی

دیده ها، شنیده ها و علاقه مندی های یک برنامه نویس
سه شنبه, ۱۴ شهریور ۱۳۹۱، ۰۹:۰۷ ق.ظ

Event

مهمترین ورودی کاربر Event است. تمام اتفاقاتی که قرار است منجر به حرکتی بشود با استفاده از Event می‌تواند handle شود. اتفاقاتی مثل click و …
البته مرورگر ها در بعضی موارد رفتار های متناقضی دارند که خوشبختانه ابزار هایی مثل JQuery کمک زیادی جهت یکسان سازی این Event ها می کنند.

// Event bind:
// jquery
$("#div").click(function(){
// ...
});

// javascript
var div = document.getElementById("div");
var listener = function(event) { /* ... */ };
div.addEventListener("click", listener, false);
div.removeEventListener("click", listener, false);


در bind کردن‌ها باید به عوض شدن context دقت کرد. This هنگامی که fire می‌شود دیگر this حاضر نیست. برای حل این مورد refrence آن باید وجود داشته باشد و با آن کار باید کرد.

دقت کنید که delegate معمولاً چون روی کل dom می‌تواند نباشد نتیجه سریعتری خواهد داشت. از طرفی هنگامی که به هر علتی المنت مورد نظر در صفحه موجود نمی باشد بهتر است که Event های مربوطه‌اش را هم حذف کنید.
شما می‌توانید خودتان یک Event جدید بسازید و در زمان مورد نظر fire کنید.

 

در backbone.js رویداد ها جزیی از View می باشند

  events: {
    "click .icon":          "open",
    "click .button.edit":   "openEditDialog",
    "click .button.delete": "destroy"
  },


نوشته شده توسط محمد افاضاتی
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

محمد افاضاتی

دیده ها، شنیده ها و علاقه مندی های یک برنامه نویس
محمد افاضاتی
محمد افاضاتی برنامه نویس python php دیتابیس های postgresql mongodb و ...

رونوشتی از علاقه مندی هایم برای ماندگار تر شدن!

تبلیغات

طبقه بندی موضوعی

Feedburner RSS

Others

توییتر

Event

سه شنبه, ۱۴ شهریور ۱۳۹۱، ۰۹:۰۷ ق.ظ

مهمترین ورودی کاربر Event است. تمام اتفاقاتی که قرار است منجر به حرکتی بشود با استفاده از Event می‌تواند handle شود. اتفاقاتی مثل click و …
البته مرورگر ها در بعضی موارد رفتار های متناقضی دارند که خوشبختانه ابزار هایی مثل JQuery کمک زیادی جهت یکسان سازی این Event ها می کنند.

// Event bind:
// jquery
$("#div").click(function(){
// ...
});

// javascript
var div = document.getElementById("div");
var listener = function(event) { /* ... */ };
div.addEventListener("click", listener, false);
div.removeEventListener("click", listener, false);


در bind کردن‌ها باید به عوض شدن context دقت کرد. This هنگامی که fire می‌شود دیگر this حاضر نیست. برای حل این مورد refrence آن باید وجود داشته باشد و با آن کار باید کرد.

دقت کنید که delegate معمولاً چون روی کل dom می‌تواند نباشد نتیجه سریعتری خواهد داشت. از طرفی هنگامی که به هر علتی المنت مورد نظر در صفحه موجود نمی باشد بهتر است که Event های مربوطه‌اش را هم حذف کنید.
شما می‌توانید خودتان یک Event جدید بسازید و در زمان مورد نظر fire کنید.

 

در backbone.js رویداد ها جزیی از View می باشند

  events: {
    "click .icon":          "open",
    "click .button.edit":   "openEditDialog",
    "click .button.delete": "destroy"
  },
موافقین ۱ مخالفین ۰ ۹۱/۰۶/۱۴
محمد افاضاتی event javascript

نظرات  (۱)

ببخشید delegate رو اشتباه تایپ کردید(deligate).
بهتر بود داخل همین مقاله $.proxy رو -یا چیز‌های شبیه‌اش رو - برای ثابت نگه داشتن context تابع‌ها معرفی میکردین.
پاسخ:
ممنون اصلاح شد
برای context هم به نظرم باید به نسبت جا استفاده شود ...

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی