คำถามติดแท็ก event-handling

การจัดการเหตุการณ์เป็นรูปแบบการเข้ารหัสเกี่ยวกับการจัดการข้อความระหว่างแหล่งที่มาและสมาชิกอย่างน้อยหนึ่งราย ตัวฟังจุดในแหล่งที่มาจะให้วิธีที่รหัสที่สมัครรับข้อมูลสามารถใช้ข้อความที่ยกมาจากแหล่งที่มาได้

28
ตรวจจับการป้อนอัตโนมัติของเบราว์เซอร์
คุณจะบอกได้อย่างไรว่าเบราว์เซอร์เติมข้อความอัตโนมัติหรือไม่ โดยเฉพาะอย่างยิ่งกับกล่องชื่อผู้ใช้และรหัสผ่านที่ป้อนอัตโนมัติเมื่อมีการโหลดหน้าเว็บ คำถามแรกของฉันคือสิ่งนี้เกิดขึ้นในลำดับการโหลดหน้า? ก่อนหรือหลังเอกสารเสร็จไหม ประการที่สองฉันจะใช้ตรรกะเพื่อค้นหาว่าสิ่งนี้เกิดขึ้นได้อย่างไร ไม่ใช่ว่าฉันต้องการที่จะหยุดสิ่งนี้ไม่ให้เกิดขึ้นเพียงขอเข้าร่วมในเหตุการณ์ โดยเฉพาะอย่างยิ่งสิ่งนี้: if (autoFilled == true) { } else { } ถ้าเป็นไปได้ฉันชอบที่จะเห็น jsfiddle แสดงคำตอบของคุณ ข้อมูลซ้ำที่เป็นไปได้ เหตุการณ์ DOM สำหรับป้อนรหัสผ่านเบราว์เซอร์อัตโนมัติหรือไม่ Autofill ของเบราว์เซอร์และ Javascript เรียกใช้เหตุการณ์ - ทั้งคำถามเหล่านี้ไม่ได้อธิบายสิ่งที่เรียกเหตุการณ์พวกเขาเพียงตรวจสอบกล่องข้อความอย่างต่อเนื่อง (ไม่ดีสำหรับประสิทธิภาพ!)

9
วิธีการเรียกฟังก์ชั่นเกี่ยวกับองค์ประกอบของเด็กในเหตุการณ์ผู้ปกครอง
บริบท ใน Vue 2.0 เอกสารและอื่น ๆระบุอย่างชัดเจนว่าการสื่อสารจากพ่อแม่ถึงเด็กเกิดขึ้นผ่านอุปกรณ์ประกอบฉาก คำถาม ผู้ปกครองบอกให้เด็กรู้เหตุการณ์ที่เกิดขึ้นผ่านอุปกรณ์ประกอบฉากได้อย่างไร ฉันควรจะดูเหตุการณ์ที่เรียกว่าเสา? ไม่รู้สึกว่าถูกต้องและไม่ทำทางเลือก ( $emit/ $onสำหรับเด็กสู่ผู้ปกครองและเป็นโมเดลฮับสำหรับองค์ประกอบที่อยู่ห่างไกล) ตัวอย่าง ฉันมีคอนเทนเนอร์หลักและจำเป็นต้องแจ้งคอนเทนเนอร์ย่อยของเด็กว่าการมีส่วนร่วมในการดำเนินการบางอย่างกับ API นั้นทำได้ดี ฉันต้องการที่จะสามารถเรียกใช้ฟังก์ชั่น

4
เหตุใดและวิธีการหลีกเลี่ยงการรั่วไหลของหน่วยความจำตัวจัดการเหตุการณ์?
ฉันเพิ่งรู้เมื่ออ่านคำถามและคำตอบใน StackOverflow ว่าการเพิ่มตัวจัดการเหตุการณ์ที่ใช้+=ใน C # (หรือฉันเดาภาษา. net อื่น ๆ ) อาจทำให้หน่วยความจำรั่วทั่วไป ... ฉันเคยใช้ตัวจัดการเหตุการณ์เช่นนี้มาหลายครั้งแล้วและไม่เคยรู้เลยว่าพวกเขาสามารถทำให้เกิดหรือทำให้หน่วยความจำรั่วในแอปพลิเคชันของฉัน ทำงานอย่างไร (หมายถึงเหตุใดจึงทำให้หน่วยความจำรั่ว) ฉันจะแก้ไขปัญหานี้ได้อย่างไร ใช้-=ตัวจัดการเหตุการณ์เดียวกันเพียงพอหรือไม่ มีรูปแบบการออกแบบทั่วไปหรือแนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดการสถานการณ์เช่นนี้หรือไม่? ตัวอย่าง: ฉันควรจัดการแอปพลิเคชันที่มีหลายเธรดต่างกันอย่างไรโดยใช้ตัวจัดการเหตุการณ์ต่าง ๆ เพื่อเพิ่มหลายเหตุการณ์บน UI มีวิธีที่ดีและเรียบง่ายในการตรวจสอบนี้อย่างมีประสิทธิภาพในแอปพลิเคชันขนาดใหญ่ที่สร้างขึ้นแล้วหรือไม่?

8
JavaScript: ลบตัวฟังเหตุการณ์
ฉันกำลังพยายามลบตัวฟังเหตุการณ์ที่อยู่ในนิยามของผู้ฟัง: canvas.addEventListener('click', function(event) { click++; if(click == 50) { // remove this event listener here! } // More code here ... ฉันจะทำอย่างนั้นได้อย่างไร? this = event ... ขอบคุณค่ะ

8
ฉันจะได้รับแจ้งเมื่อมีการเพิ่มองค์ประกอบในหน้าได้อย่างไร
ฉันต้องการฟังก์ชั่นที่ฉันเลือกที่จะทำงานเมื่อเพิ่มองค์ประกอบ DOM ลงในหน้า นี่เป็นบริบทของส่วนขยายเบราว์เซอร์ดังนั้นหน้าเว็บจึงทำงานโดยอิสระจากฉันและฉันไม่สามารถแก้ไขแหล่งที่มาได้ ตัวเลือกของฉันที่นี่มีอะไรบ้าง ฉันเดาว่าในทางทฤษฎีแล้วฉันสามารถใช้setInterval()เพื่อค้นหาการปรากฏตัวขององค์ประกอบอย่างต่อเนื่องและดำเนินการของฉันถ้าองค์ประกอบนั้นอยู่ที่นั่น แต่ฉันต้องการแนวทางที่ดีกว่า

8
jQuery: มีตัวจัดการมากกว่าหนึ่งตัวสำหรับเหตุการณ์เดียวกัน
จะเกิดอะไรขึ้นถ้าฉันผูกตัวจัดการเหตุการณ์สองตัวกับเหตุการณ์เดียวกันสำหรับองค์ประกอบเดียวกัน ตัวอย่างเช่น: var elem = $("...") elem.click(...); elem.click(...); ตัวจัดการล่าสุด "ชนะ" หรือตัวจัดการทั้งสองจะทำงานหรือไม่


5
อธิบายการจัดการเหตุการณ์ ExtJS 4
ฉันเพิ่งเริ่มเรียนรู้ ExtJS และมีปัญหาในการทำความเข้าใจวิธีจัดการกับเหตุการณ์ ฉันไม่มีประสบการณ์ ExtJS เวอร์ชันก่อนหน้าใด ๆ จากการอ่านคู่มือคำแนะนำและหน้าเอกสารต่างๆฉันได้ทราบวิธีการใช้งานแล้ว แต่ยังไม่ชัดเจนว่ามันทำงานอย่างไร ฉันพบบทช่วยสอนมากมายสำหรับ ExtJS เวอร์ชันเก่า แต่ฉันไม่แน่ใจว่ามันใช้งานได้อย่างไรใน ExtJS 4 ฉันมองเฉพาะ "คำสุดท้าย" ในสิ่งต่างๆเช่น ฟังก์ชันการจัดการเหตุการณ์ส่งผ่านอาร์กิวเมนต์อะไร มีชุดมาตรฐานของ args ที่มักจะผ่านไปหรือไม่? จะกำหนดเหตุการณ์ที่กำหนดเองสำหรับส่วนประกอบที่เราเขียนได้อย่างไร? เราจะเริ่มเหตุการณ์ที่กำหนดเองเหล่านี้ได้อย่างไร ค่าที่ส่งคืน (จริง / เท็จ) มีผลต่อฟองอากาศหรือไม่ ถ้าไม่เราจะควบคุมเหตุการณ์ที่เดือดปุด ๆ จากภายในหรือภายนอกตัวจัดการเหตุการณ์ได้อย่างไร มีวิธีมาตรฐานในการลงทะเบียนผู้ฟังเหตุการณ์หรือไม่? (ฉันเจอสองวิธีที่แตกต่างกันจนถึงตอนนี้และฉันไม่แน่ใจว่าทำไมจึงใช้แต่ละวิธี) ตัวอย่างเช่นคำถามนี้ทำให้ฉันเชื่อว่าตัวจัดการเหตุการณ์สามารถรับข้อโต้แย้งได้ไม่กี่ข้อ ฉันเคยเห็นบทช่วยสอนอื่น ๆ ที่มีข้อโต้แย้งเพียงสองข้อสำหรับตัวจัดการ เปลี่ยนแปลงอะไรบ้าง?

7
ฉันจะเพิ่มตัวจัดการเหตุการณ์ onClick แบบง่ายให้กับองค์ประกอบ canvas ได้อย่างไร
ฉันเป็นโปรแกรมเมอร์ Java ที่มีประสบการณ์ แต่กำลังมองหาสิ่งต่างๆเกี่ยวกับ JavaScript / HTML5 เป็นครั้งแรกในรอบทศวรรษ ฉันนิ่งงันกับสิ่งที่ควรจะง่ายที่สุดเท่าที่เคยมีมา ตัวอย่างเช่นฉันแค่อยากวาดบางอย่างแล้วเพิ่มตัวจัดการเหตุการณ์เข้าไป ฉันแน่ใจว่าฉันทำอะไรโง่ ๆ แต่ฉันค้นหาจนทั่วแล้วและไม่มีอะไรที่แนะนำ (เช่นคำตอบสำหรับคำถามนี้: เพิ่มคุณสมบัติ onclick เพื่อป้อนข้อมูลด้วย JavaScript ) ฉันใช้ Firefox 10.0.1 รหัสของฉันตาม คุณจะเห็นบรรทัดแสดงความคิดเห็นหลายบรรทัดและในตอนท้ายของแต่ละบรรทัดจะมีคำอธิบายว่าเกิดอะไรขึ้น (หรือไม่เกิดอะไรขึ้น) ไวยากรณ์ที่ถูกต้องที่นี่คืออะไร? ฉันจะบ้า! <html> <body> <canvas id="myCanvas" width="300" height="150"/> <script language="JavaScript"> var elem = document.getElementById('myCanvas'); // elem.onClick = alert("hello world"); - displays alert without clicking // …

6
การจัดการรายการเมนูคลิกเหตุการณ์ - Android
ฉันต้องการสร้างความตั้งใจที่จะเริ่มกิจกรรมใหม่เมื่อมีการคลิกรายการเมนู แต่ฉันไม่แน่ใจว่าจะทำอย่างไร ฉันได้อ่านเอกสารประกอบของ Android แต่การใช้งานของฉันไม่ถูกต้องและคำแนะนำบางอย่างในทิศทางที่ถูกต้องจะช่วยได้ ฉันได้ระบุรหัสของฉันไว้ด้านล่างและแสดงความคิดเห็นเกี่ยวกับประเด็นปัญหาของฉันฉันคิดว่าฉันกำลังเรียกใช้วิธีการที่ไม่ถูกต้อง package com.jbsoft.SimpleFlashlight; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.*; import android.view.MenuItem.OnMenuItemClickListener; import android.widget.Button; import android.widget.Toast; public class SimpleFlashLightActivity extends Activity { Button GreenButton; // Declare instances of buttons to use later Button BlueButton; private static final int OK_MENU_ITEM = Menu.FIRST; /** Called when …

2
จำเป็นต้องลบตัวจัดการเหตุการณ์ใน C # อย่างชัดเจนหรือไม่
ฉันมีชั้นเรียนที่เสนอกิจกรรมบางอย่าง คลาสนั้นได้รับการประกาศทั่วโลก แต่ไม่รวมอยู่ในการประกาศระดับโลกนั้น - มันได้รับการติดตั้งบนพื้นฐานที่จำเป็นในวิธีการที่จำเป็น แต่ละครั้งที่จำเป็นต้องใช้คลาสนั้นในเมธอดคลาสนั้นจะถูกอินสแตนซ์และตัวจัดการเหตุการณ์จะถูกลงทะเบียน จำเป็นหรือไม่ที่จะต้องลบตัวจัดการเหตุการณ์อย่างชัดเจนก่อนที่เมธอดจะอยู่นอกขอบเขต เมื่อเมธอดอยู่นอกขอบเขตอินสแตนซ์ของคลาสก็เช่นกัน การออกจากตัวจัดการเหตุการณ์ที่ลงทะเบียนกับอินสแตนซ์ที่กำลังจะอยู่นอกขอบเขตนั้นมีผลกระทบต่อหน่วยความจำหรือไม่ (ฉันสงสัยว่าตัวจัดการเหตุการณ์จะป้องกันไม่ให้ GC เห็นอินสแตนซ์ของคลาสที่ไม่มีการอ้างอิงอีกต่อไป)

7
jQuery: $ () คลิก (fn) เทียบกับ $ () ผูก ('คลิก', fn);
เมื่อใช้ jQuery เพื่อเชื่อมต่อกับตัวจัดการเหตุการณ์มีความแตกต่างระหว่างการใช้วิธีการคลิกหรือไม่ $().click(fn) เทียบกับการใช้วิธีการผูก $().bind('click',fn); นอกเหนือจากพารามิเตอร์ข้อมูลทางเลือกของ bind

8
เมื่อใดที่ฉันควรใช้ฟังก์ชัน document.ready ของ jQuery
ฉันได้รับคำสั่งให้ใช้ document.ready เมื่อฉันเริ่มใช้ Javascript / jQuery เป็นครั้งแรก แต่ฉันไม่เคยเรียนรู้ว่าทำไม อาจมีคนให้คำแนะนำพื้นฐานเกี่ยวกับเวลาที่เหมาะสมในการห่อรหัส javascript / jquery ไว้ใน jQuery's document.ready ? บางหัวข้อที่ฉันสนใจ: .on()วิธีการของ jQuery : ฉันใช้.on()วิธีสำหรับ AJAX ค่อนข้างน้อย (โดยทั่วไปจะใช้องค์ประกอบ DOM ที่สร้างแบบไดนามิก) ตัว.on()จัดการคลิกควรอยู่ด้านในเสมอ document.readyหรือไม่? ประสิทธิภาพ: มีประสิทธิภาพมากกว่าในการเก็บวัตถุ javascript / jQuery ต่างๆไว้ภายในหรือภายนอกเอกสารแล้ว (เช่นกันความแตกต่างของประสิทธิภาพมีนัยสำคัญหรือไม่?) ขอบเขตออบเจ็กต์: เพจที่โหลด AJAX ไม่สามารถเข้าถึงอ็อบเจ็กต์ที่อยู่ในเอกสารของเพจก่อนหน้าได้ถูกต้องหรือไม่ พวกเขาสามารถเข้าถึงได้เฉพาะวัตถุที่อยู่นอก document.ready (เช่นวัตถุ "global" อย่างแท้จริง)? อัปเดต:เพื่อปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดจาวาสคริปต์ทั้งหมดของฉัน (ไลบรารี jQuery และรหัสแอปของฉัน) จะอยู่ที่ด้านล่างของหน้า HTML …

16
ฉันจะเปลี่ยนข้อความ EditText โดยไม่เรียกใช้ Text Watcher ได้อย่างไร
ฉันมีEditTextช่องที่มี Customer Text Watcher อยู่ ในส่วนของรหัสฉันจำเป็นต้องเปลี่ยนค่าใน EditText .setText("whatever")ซึ่งเราใช้ ปัญหาคือทันทีที่ฉันทำการเปลี่ยนแปลงafterTextChangedวิธีการเรียกซึ่งสร้างลูปที่ไม่มีที่สิ้นสุด ฉันจะเปลี่ยนข้อความโดยไม่เรียกใช้ afterTextChanged ได้อย่างไร ฉันต้องการข้อความในเมธอด afterTextChanged ดังนั้นไม่แนะนำให้ลบไฟล์TextWatcher.

7
การเปลี่ยนข้อความ UIButton
ดังนั้นฉันจึงพยายามอัปเดตข้อความบน UIButton เมื่อคลิก ฉันใช้บรรทัดต่อไปนี้เพื่อเปลี่ยนข้อความ: calibrationButton.titleLabel.text = @"Calibration"; ฉันได้ตรวจสอบแล้วว่าข้อความมีการเปลี่ยนแปลง แต่เมื่อฉันเรียกใช้แอปและฉันคลิกที่ปุ่มข้อความนั้นจะเปลี่ยนเป็น "การปรับเทียบ" ในเสี้ยววินาทีจากนั้นจะกลับสู่ค่าเริ่มต้นทันที มีความคิดว่าเหตุใดจึงอาจเกิดขึ้น มีฟังก์ชันรีเฟรชบางประเภทที่ฉันต้องเรียกใช้หรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.