Tôi đang cố gắng thực hiện một hàm bên ngoài khi nhấp vào một phần tử DOM mà không cần gói nó trong một hàm khác.Làm cách nào để thực thi chức năng bên ngoài khi một phần tử được nhấp?
Nói rằng tôi có một chức năng gọi là sayHello()
, như sau:
function sayHello(){
alert("hello");
};
Để thực hiện nó trên nhấp chuột, Tôi hiện đang có để làm điều này:
$("#myelement").click(function(){
sayHello();
});
Thông báo tôi buộc phải quấn đơn chức năng gọi trong một chức năng khác. Những gì tôi đang cố gắng làm là một cái gì đó như thế này
$("#myelement").click(sayHello());
Ngoại trừ việc đơn giản là không hiệu quả. Tôi có thể tránh gói một cuộc gọi chức năng trong một chức năng khác theo bất kỳ cách nào không? Cảm ơn!
.
Thông tin bổ sung: Làm cách nào để đạt được điều tương tự khi tôi cần chuyển tham số cho hàm?
..
thông tin bổ sung: Giống như Chris Brandsma và Jani Hartikainen chỉ ra, ta nên có thể sử dụng chức năng ràng buộc để vượt qua tham số cho hàm mà không cần gói nó trong một chức năng ẩn danh như vậy:
$("#myelement").bind("click", "john", sayHello);
với sayHello()
tại chấp nhận một tham số mới, như vậy:
function sayHello(name){
alert("Hello, "+name);
}
Điều này, thật không may, dường như không hoạt động ... Bất kỳ ý tưởng nào? Tài liệu về Sự kiện/liên kết nằm ở here Cảm ơn!
Thịt bò của bạn có chức năng gói là gì? Nó không phải là một hit hiệu suất (tốt, nano giây có thể). Đó là một chút tiết nhưng tôi thấy nó hữu ích để làm điều này và giữ mọi thứ nhất quán. Thứ hai, bạn cần phải thêm một tham số hoặc gọi nhiều hơn một hàm bạn sẽ cần thêm trình bao bọc lại trong ... – DisgruntledGoat
tôi đoán tôi chỉ muốn có nó một cách độc đáo trong một dòng và tôi là OCD như thế ... :) –