2013-01-24 25 views
22

Xin lỗi nếu điều này là cực kỳ rõ ràng, nhưng tôi không có ý tưởng tại sao điều này không hoạt động.jsFiddle: không có kết nối giữa html và js? Không thể gọi chức năng đơn giản từ nút?

Tôi đang cố gắng tạo jsFiddle. Tuy nhiên, tôi dường như không thể đính kèm bất kỳ javscript nào vào bất kỳ phần tử nào. Ví dụ, onclick không gọi hàm js của tôi.

Nó không đơn giản hơn cái này. Tôi sao chép-dán nó từ trình soạn thảo W3, nơi nó hoạt động tốt - bấm vào nút, nhận được cảnh báo!

<button onclick="myFunction()">Click me</button> 

function myFunction() {alert("sss");} 

http://jsfiddle.net/tpip/NYkQN/2/

tôi thiếu gì ở đây ??

+1

http://stackoverflow.com/questions/5431351/simple-example-doesnt-work-on-jsfiddle – topcat3

+1

Đây là bản sao chính xác của http://stackoverflow.com/questions/5431351/simple-example-doesnt -work-on-jsfiddle – RoryB

Trả lời

36

Chỉ cần thay đổi cách khối JavaScript được nạp vào no wrap (head)

enter image description here

Thiết lập tiêu chuẩn ở đây là JS được bọc (!) Để được chạy sau khi DOM đã nạp. Điều đó có nghĩa là hàm không được định nghĩa trong phạm vi toàn cục nhưng bên trong trình bao bọc. Trình xử lý sự kiện nội tuyến chỉ hoạt động với các hàm được xác định trên toàn cầu mặc dù!

Khi đặt thành no wrap (head), JS được tải trong <head> và không được gói.

+2

Cảm ơn bạn !!! Hoạt động hoàn hảo ngay bây giờ. Bây giờ tôi có thể viết fiddle thực tế của tôi :) – user984003

+1

Những gì poo, điều này sẽ là mặc định ... – Andrew

Các vấn đề liên quan