Hướng dẫn get element called function javascript - lấy phần tử được gọi là hàm javascript

Làm thế nào tôi có thể nhận ID của một yếu tố được gọi là hàm JS?

body.jpg là hình ảnh của một con chó khi người dùng chỉ chuột của mình quanh màn hình ở các bộ phận khác nhau của cơ thể, một hình ảnh mở rộng được hiển thị. ID của phần tử khu vực giống hệt với tên tệp hình ảnh trừ đi thư mục và phần mở rộng.

function zoom[] { document.getElementById["preview"].src="images/nose.jpg"; }

Đã hỏi ngày 2 tháng 10 năm 2011 lúc 15:11Oct 2, 2011 at 15:11

0

Chuyển tham chiếu đến phần tử vào hàm khi nó được gọi là:




  function zoom[ele] {
    var id = ele.id;

    console.log['area element id = ' + id];
  }

Đã trả lời ngày 2 tháng 10 năm 2011 lúc 15:14Oct 2, 2011 at 15:14

James Sumnersjames SumnersJames Sumners

14.2K10 Huy hiệu vàng58 Huy hiệu bạc75 Huy hiệu đồng10 gold badges58 silver badges75 bronze badges

3

Tôi ngạc nhiên khi không ai đề cập đến việc sử dụng




  function zoom[ele] {
    var id = ele.id;

    console.log['area element id = ' + id];
  }

7 trong trình xử lý sự kiện. Nó hoạt động tự động trong các trình duyệt hiện đại và có thể được thực hiện để hoạt động trong các trình duyệt khác. Nếu bạn sử dụng



  function zoom[ele] {
    var id = ele.id;

    console.log['area element id = ' + id];
  }

8 hoặc



  function zoom[ele] {
    var id = ele.id;

    console.log['area element id = ' + id];
  }

9 để cài đặt trình xử lý sự kiện của mình, thì bạn có thể tạo giá trị



  function zoom[ele] {
    var id = ele.id;

    console.log['area element id = ' + id];
  }

7 tự động được gán cho đối tượng được tạo sự kiện.

Hơn nữa, người dùng trình xử lý sự kiện được cài đặt lập trình cho phép bạn tách mã JavaScript khỏi HTML thường được coi là một điều tốt.

Đây là cách bạn sẽ làm điều đó trong mã của mình bằng JavaScript đơn giản:

Xóa

// simplified utility function to register an event handler cross-browser
function setEventHandler[obj, name, fn] {
    if [typeof obj == "string"] {
        obj = document.getElementById[obj];
    }
    if [obj.addEventListener] {
        return[obj.addEventListener[name, fn]];
    } else if [obj.attachEvent] {
        return[obj.attachEvent["on" + name, function[] {return[fn.call[obj]];}]];
    }
}

function zoom[] {
    // you can use "this" here to refer to the object that caused the event
    // this here will refer to the calling object [which in this case is the ]
    console.log[this.id];
    document.getElementById["preview"].src="//photos.smugmug.com/photos/344290962_h6JjS-Ti.jpg";
}

// register your event handler
setEventHandler["nose", "mouseover", zoom];
1 khỏi HTML của bạn và cài đặt trình xử lý sự kiện trong JavaScript của bạn như thế này:

// simplified utility function to register an event handler cross-browser
function setEventHandler[obj, name, fn] {
    if [typeof obj == "string"] {
        obj = document.getElementById[obj];
    }
    if [obj.addEventListener] {
        return[obj.addEventListener[name, fn]];
    } else if [obj.attachEvent] {
        return[obj.attachEvent["on" + name, function[] {return[fn.call[obj]];}]];
    }
}

function zoom[] {
    // you can use "this" here to refer to the object that caused the event
    // this here will refer to the calling object [which in this case is the ]
    console.log[this.id];
    document.getElementById["preview"].src="//photos.smugmug.com/photos/344290962_h6JjS-Ti.jpg";
}

// register your event handler
setEventHandler["nose", "mouseover", zoom];

Đã trả lời ngày 2 tháng 10 năm 2011 lúc 16:41Oct 2, 2011 at 16:41

jfriend00jfriend00jfriend00

657K91 Huy hiệu vàng933 Huy hiệu bạc934 Huy hiệu Đồng91 gold badges933 silver badges934 bronze badges

1

Bạn có thể sử dụng 'cái này' trong xử lý sự kiện:

document.getElementById["preview"].onmouseover = function[] {
    alert[this.id];
}

Hoặc truyền đối tượng sự kiện cho người xử lý như sau:

document.getElementById["preview"].onmouseover = function[evt] {
    alert[evt.target.id];
}

Bạn nên sử dụng đính kèm [cho IE

Bài Viết Liên Quan

Chủ Đề