Могу ли я сделать это без JQuery? - PullRequest
0 голосов
/ 05 января 2012

Я использую следующий код на своем сайте.Я задаюсь вопросом, нужен ли мне jQuery для этого, или если стандартный javascript может справиться с этим процессом.

      <script type='text/javascript'>
  //<![CDATA[ 
  $(window).load(function(){
  $("a[href^='http']").click(function(event) {
        event.preventDefault();              // prevent the link from opening directly
                                                        // open a pop for the link's url 
        var popup = window.open( this.href , "", "toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,status=no,width=340,height=10,left=250,top=175" ); 
        // popup.blur();
        // window.focus();   
    });            });             //]]> 
  </script>   

Это с этой страницы: Нажмите на RSS для подачи по RSS - Javascript

Ответы [ 3 ]

1 голос
/ 05 января 2012

Да, и это относительно просто: просто используйте document.getElementsByTagName('a') и просмотрите полученный массив, установив onclick для всех элементов, которые имеют атрибут href со значением, начинающимся с http. И сделайте это функцией, которая вызывается через атрибут onload в <html>, например.

0 голосов
/ 05 января 2012
var hrefs = document.getElementsByTagName('a');
for (i in hrefs) {
   if (hrefs[i].href && hrefs[i].href.match(/^http/)) {
    hrefs[i].onclick = function(){
     var popup = window.open( this.href , "", "toolbar=no,menubar=no,location=no,scrollbars=no,resizable=no,status=no,width=340,height=10,left=250,top=175" );
     return false;
    }
}
}
0 голосов
/ 05 января 2012

Вы можете попробовать это

<div id="divid" onclick="showpop();">click me</div>
<script type="text/javascript">
function showpop(){
window.open(arguments);
return false;
}
</script>


document.getElementById(eleID).onClick = function (){
//do stuff
}
...