Я пытаюсь упростить свой код. Я хотел бы написать функцию с обработчиком событий внутри, где я могу быстро вводить параметры и исключать кучу лишнего набора текста (после нескольких часов кодирования это действительно имеет значение для меня). В качестве примеров я создал функцию «shortcut» для метода .html (который отлично работает) и один для обработчика события .click. Однако функция .click выполняется без щелчка пользователем чего-либо. Я не могу понять, почему.
Here is a JSFiddle:Почему функция, содержащая .click, выполняется без нажатия на jquery?
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"></head>
<body>
<h1 style="background-color:#555">-.-</h1>
<button id="bu">How's awesome?</button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
var h1 = "h1";
var bu = "#bu";
var awesome = "You are awesome!";
function html(a,b) {$(a).html(b);}
function yaa() {html(h1,awesome);}
function clickIt(a,b) {$(a).click(function(){b;})}
clickIt(bu,yaa());
// $(bu).click(function(){yaa();})
</script>
</script>
</body>
</html>
Добро пожаловать в SO. снова проверьте свой код и используйте JSFiddle.net – Rafee