2016-05-23 4 views
0

У меня есть скрипт, который помогает аннотировать изображение. Я просто хочу запустить этот скрипт только при нажатии кнопки. Я попытался использовать событие onclick для кнопки, но он не работает. Вот кодВызвать скрипт при нажатии кнопки

<head> 
    <script src="javascripts/jquery.js"></script> 
    <script src="javascripts/jquery-ui.min.js"></script> 
    <link rel="stylesheet" href="stylesheets/jquery-ui.css"> 

    ////////////// those are the scripts that i use in the function ////// 
    <link rel="stylesheet" href="highlight.js/zenburn.css"> 
    <link rel="stylesheet" href="stylesheets/css/theme-dark/annotorious-dark.css" /> 
    <script src="highlight.js/highlight.pack.js"></script> 
    <script src="javascripts/annotorious.min.js"></script> 
    ///////////// 
    <script> 
    $("#annotation").click(function() { 
     hljs.initHighlightingOnLoad(); 
     //function of annotation 
    }); 
    </script> 
</head> 
<body> 
<button type="submit" id="annotation" > 
    <img src="stylo.png" style="width: 30px ; height:50px" alt="Submit"> 
</button> 
</body> 

Но это не работает, я до сих пор скрипт работает, когда я загрузить страницу. Мне просто нужно вызвать его, когда нажата кнопка «аннотация».

+1

_ "Но это не работает" _? Что это ? Любая ошибка в 'console'? – Rayon

+0

У вас есть ошибка в консоли? – AxelH

+0

Нет ошибок. как я уже сказал, я просто хочу запустить скрипт только при нажатии кнопки. Но с попыткой, которую я сделал, она не работает, потому что скрипт запускается сразу после загрузки страницы без нажатия кнопки. – yassine

ответ

1

Держи

<script> 
    $(document).ready(function(){ 
     $("#annotation").click(function() 
      { 
      alert("Hello!"); 
      // hljs.initHighlightingOnLoad(); //function of annotation 
      }); 
    }); 
    </script> 

    <button type="submit" id="annotation" > <img src="stylo.png" style="width: 30px ; height:50px" alt="Submit"></button> 

Я не знаю о вашей hljs.initHighlightingOnLoad(); но, поскольку выполнение функции при нажатии кнопки, вы должны записать этот код в функции $ (document) .ready(). Он работает хорошо, как я уже тестировал с помощью alert();


--------------------------- ОБНОВЛЕНО ------------- -------------------

Я тестировал его с помощью CDN из JQuery и highlightjs

<head> 
    <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 

    <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script> 

    <script> 
     $(document).ready(function(){ 
     $("#annotation").click(function() 
      { 
       hljs.initHighlightingOnLoad(); //function of annotation 
      }); 
     }); 
    </script> 
</head> 
<body> 

    <button type="submit" id="annotation" > 
     <img src="stylo.png" style="width: 30px ; height:50px" alt="Submit"> 
    </button> 
    </body> 
+0

. Я также тестировал его с помощью предупреждения, он работает. как я сказал ранее, кнопка отлично работает с предупреждением, но когда я хочу вызвать скрипт, он не работает – yassine

+0

Yassine Я действительно не понимаю, что hljs.initHighlightingOnLoad(); вещь. Было бы яснее, если бы вы могли дать это определение функции или библиотеку, из которой эта функция должна быть вызвана –

+0

Я искал эту функцию только сейчас ... Вот что я нашел. 'hljs.initHighlighting.called = false; hljs.initHighlighting(); ' –

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