2013-06-04 34 views
5

Nếu người dùng nhấp vào hình ảnh tôi muốn đồng thời kích hoạt nhấp chuột trên iFrame được chỉ định. Điều đó có thể không? Hình ảnh và iFrame được đặt trên cùng một trang. Nếu vậy, bạn có thể vui lòng cho tôi xem mã có hoạt động không?jQuery để kích hoạt một nhấp chuột trên iFrame?

Dưới đây là những gì tôi có cho đến nay:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
<img id="image" src="https://www.google.com/images/srpr/logo4w.png"> 

<iframe id="iframe" src="http://www.test.com" height= "100" width="160"></iframe> 

<script> 
jQuery("input.image").click(function(){ 
    $("#iframe").click() 
}); 
</script> 

</body> 
</html> 
+2

nó tốt hơn mà bạn cố gắng làm điều đó, sau đó nếu bạn tìm thấy một vấn đề bài mã để giải quyết nó cùng nhau :) – Somar

+1

OK Tôi vừa cập nhật câu hỏi ban đầu của mình với mã cho những gì tôi đã có cho đến nay. – user2453693

Trả lời

6

bạn chọn hình ảnh jquery là sai.

thay đổi

jQuery("input.image") 

để

$("#image") 

Sau đó, tất cả mọi thứ sẽ làm việc. Bạn có thể nhìn thấy nó trong này fiddle

bài viết Sửa

Nếu câu hỏi là để kích hoạt một nhấp chuột vào một trong những yếu tố chứa trong iFrame, sau đó thay thế

$("#iframe").click() 

với một cái gì đó như :

$("#iframe").contents().find("a:first").click(); 

Điều này sẽ chỉ hoạt động nếu nội dung của trang chính và trang của iFrame là trên cùng một tên miền. Nếu không trình duyệt sẽ ngăn chặn các hành động vì nó là cross scripting trang web. Bạn có thể thấy trong ví dụ của bạn, ngăn ngừa XSS sẽ xảy ra như đã chứng minh trong this fiddle

+0

Điều này đang hoạt động, sắp xếp. Mặc dù tôi nhận được cảnh báo cho biết "iframe đã nhấp" nhưng dường như không nhấp vào iFrame vì nội dung bên trong iFrame thực tế, nếu nó thực sự được nhấp, sẽ mở ra một cửa sổ khác và điều đó không xảy ra. – user2453693

+0

Câu hỏi của bạn được yêu cầu kích hoạt một lần nhấp vào iFrame. Đó là những gì đang xảy ra trong ví dụ của tôi. Tôi lấy nó mà bạn quan tâm đến kích hoạt một nhấp chuột vào một yếu tố cư trú như nội dung bên trong iFrame? – dcarson

+0

@ dcarson - Vâng, đó là chính xác; xin lỗi tôi đã không rõ ràng. Tôi cần nó để bấm vào nội dung bên trong iFrame. Cụ thể, có một liên kết trong nội dung iFrame mà tôi cần nó để nhấp vào. Đây là bản sao của nội dung iFrame thực tế. Bạn có thể thấy liên kết tôi cần để nhấp, đó là liên kết duy nhất trong nội dung iFrame. http://pastebin.com/cXsuq71P – user2453693

1

Tôi nghĩ rằng bạn cần một cái gì đó như thế này: -

$("#image").click(function(){ 
    var $iframe = $("#iframe").contents(); 
    $("body", $iframe).trigger("click"); 
}); 
+0

Tôi đã thử điều này và khi tôi nhấp vào hình ảnh, không có gì xảy ra với iFrame.Nội dung của iFrame cũng là một hình ảnh, nhưng hình ảnh trong iFrame là một siêu liên kết. Vì vậy, khi tôi nhấp vào hình ảnh, nó cũng sẽ kích hoạt một nhấp chuột vào iFrame sẽ mở ra một trang mới vì hình ảnh trong iFrame là một liên kết. – user2453693

+0

Vui lòng kiểm tra. Tôi đã thêm câu trả lời mới. – pvnarula

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