2013-06-16 4 views
0

Я попытался вызвать функцию JavaScript из моего кода jQuery, но не буду работать. ФункцияКак вызвать функцию JavaScript в jQuery?

JavaScript:

<script type="text/javascript"> 
function showonlyone(thechosenone) { 
    var newboxes = document.getElementsByTagName("a"); 
    for (var x=0; x<newboxes.length; x++) { 
     name = newboxes[x].getAttribute("class"); 
     if (name == 'newboxes') { 
      if (newboxes[x].id == thechosenone) { 
       newboxes[x].style.display = 'block'; 
      } 
      else { 
       newboxes[x].style.display = 'none'; 
      } 
     } 
    } 
} 
</script> 

JQuery код:

<script type="text/javascript">  
jQuery(document).ready(function ($) { 
    $("#img2").on("click", function() { 
     event.preventDefault(); 
     showonlyone("im2");    
    }); 
}); 
</script> 
+3

Какая ошибка вы получаете? – Blender

+0

Вы уверены, что не имеете в виду 'showonlyone (" # im2 ");'? –

+5

Вам нужно передать 'event' в функцию, чтобы использовать' event.preventDefault() '. @Bram: он, похоже, не использует jQuery для этой части, поэтому хэш - это возможность, но маловероятная. –

ответ

3
event.preventDefault(); 

Возможно просто JS ошибки,

$("#img2").on("click", function(event){ 
event.preventDefault(); 
showonlyone("im2"); 

    }); 

Но в любом случае, это лучше, чтобы написать весь код в jquery, если вы уже начали.

+0

Вы можете прокомментировать свои собственные сообщения –

+0

Можете ли вы объяснить мне, почему я получаю downvoted и тот же ответ, который приходит через 2 минуты, получает 3 upvotes? – ccd580ac6753941c6f84fe2e19f229

+0

Какой ответ? Ссылка мне на это –

2

Это не то, что вы «необходимо пройти event к function», как JQuery уже делает это.

Но, вы должны имя аргумент, так что вы можете ссылаться на него, как event:

$("#img2").on("click", function(event){ 
    //       ^^^^^ 
    event.preventDefault(): 
    // etc. 
}); 

В JavaScript event не является ключевым словом, как this. Исторически сложилось, что он имеет been a global variable, но не стандартизирован как таковой.

+2

Чтобы уточнить: вы ссылаетесь на аргумент, даже если вы его не называете: 'arguments [0] .preventDefault()'. –

+1

@JanDvorak, хотя это ужасная практика использования анонимных аргументов, это приятно знать! –

+1

@JanDvorak Конечно. Но я видел обратную связь с предложениями об использовании аргументов, поэтому подумал, что я пропустил бы это. –

Смежные вопросы