2013-07-04 3 views
0

Я изучаю, как создавать виджеты, поэтому я начал с простого виджета, который при нажатии на предупреждаемый Привет на любом веб-сайте, на котором был размещен виджет, который является функцией, определенной в исходный веб-сайт. Так вот код на веб-сайте источникаПопытка получить виджет javascript для работы

(function(){ 
var jQuery; 

if (window.jQuery==undefined || window.jQuery.fn.jquery!=='1.8.1'){ 
var script_tag=document.createElement('script'); 
script_tag.setAttribute("type", "text/javascript"); 
script_tag.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"); 

if(script_tag.readyState){ 
script_tag.onreadystatechange=function(){ 
    if(this.readyState=='complete' || this.readyState=='loaded'){ 
    scriptLoadHandler(); 
    } 
    }; 
}else{ 
    script_tag.onload=scriptLoadHandler; 
    } 
    (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag); 
}else{ 
jQuery=window.jQuery; 
main(); 
} 

function scriptLoadHandler(){ 
jQuery=window.jQuery.noConflict(true); 
main(); 
} 

function main(){ 
$(document).ready(function($){ 
    $('.widget').click(function(){ 
    alert("Hey"); 
    }); 
}); 
} 
})(); 

Теперь здесь код виджета можно разместить на любом сайте

<script src="http://www.reflap.com/beta/assets/js/widget2.js"></script> 
<a class="widget" href="#">Hey</a> 

Но когда я нажимаю на Hey ничего не происходит. Что не так? Может кто-то помочь мне здесь.

+0

изменить '$ ('. Widget'). Click (function() {alert (" Hey ");});' этому '$ ('. Widget'). Click (function (e) {e. preventDefault(); alert ("Hey");}); 'у вас есть остановка браузера от ссылки –

ответ

0

Попробуйте добавить:

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

в код, я попробовал, что на этом JFIddle

я надеюсь, что это то, что вы ищете.