2015-06-30 2 views
2

EDIT: просто пример. Мне нужна поддержка, если/ещеновая функция в onclick

Я хочу, чтобы это сделать:

<button onclick="function(){ 
          alert('Hi!'); 
          prompt('What can I do for you?','make a Sandwich'); 
          }"> 
    Hello World! 
</button> 

Видимо, это не работает.

Вы знаете, как я мог это сделать? Как я могу «вызвать» новую функцию?

Я не могу просто определить его в <script></script> -node.

+0

увидеть ответ, поддержка, если-иначе включены –

+0

Вы можете использовать 'если ... else' в любой функции, как правило, – Tushar

ответ

2

не рекомендуется, чтобы написать функции внутри параметра. Лучше писать их на отдельной функции, а затем связывать ее с одним из методов, которые вы слушали выше.Вы все еще можете делать то, что вы сказали в примере с помощью функции Anonimous так:

<button onclick='(function(){ 
    alert("hello world"); 
    prompt("I am the Doctor","oh yeah"); 
})()'></button> 
+0

'Self Invoking Anonymous Function' или' Expression Expression Expression' – Tushar

5

Для звонка вам не нужен function. Вы можете напрямую использовать Javascript-код. Это считается плохой практикой.

<button onclick="alert('Hi!'); prompt('What can I do for you?','make a Sandwich');"> 
    Hello World! 
</button> 

Demo

Вы можете также использовать function в качестве обработчика события следующим образом:

HTML

<button onclick="fnHandler();"> 
    Hello World! 
</button> 

Javascript

function fnHandler() { 
    alert('Hi!'); 
    prompt('What can I do for you?','make a Sandwich'); 
} 

Demo

Использование addEventListener вы можете связать события с JavaScript вместо встроенного в HTML (Рекомендуемый):

HTML

<button id="myButton"> 
    Hello World! 
</button> 

Javascript

document.getElementById('myButton').addEventListener('click', function() { 
    alert('Hi!'); 
    prompt('What can I do for you?','make a Sandwich'); 
}); 

Demo

+0

мы можем назвать его функцией –

+0

@SaiKiran Добавлено в обновленном ответе – Tushar

+0

Ну .. это был просто пример - что, если я хочу использовать if/else? – 000000000000000000000

1

Обновленная версия для общей функции, так как добавить у слушателя добавляет уникальности для мыши

<button onclick="function_name() id="button">Some Text</button> 

Теперь, чтобы написать определение функции в JS

function function_name(){ .... statements; } 

Типичный пример использования это с if-else

<script> 
 
document.getElementById('button').onclick = function() { 
 
    if (Calc.Input.value == '' || Calc.Input.value == '0') { 
 
     window.alert("Please enter a number"); 
 
    } else { 
 
     document.getElementById('button').value=' Justera längd '; 
 
     
 
    } 
 
    return false; 
 
} 
 
</script>

+1

Собственно, это самое лучшее, что нужно сделать, и это наиболее рекомендуемый –

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