Привет Я изучаю JQuery, и я написал небольшую функцию, где я прикрепляю функцию с событием нажатия кнопки.Как передать событие в качестве параметра в функции JQuery
это главный элемент HTML
<script type="text/javascript">
$(pageLoaded);
function pageLoaded()
{
$("#Button1").bind("click",
{ key1: "value1", key2: "value2" },
function buttonClick(event)
{
$("#displayArea").text(event.data.key1);
}
);
}
</script>
Это тело HTML
<input id="Button1" type="button" value="button" />
<div id = "displayArea" style="border:2px solid black; width:300px; height:200px">
Этот код работает отлично. Но когда я пытаюсь написать функцию buttonClick вне метода анонима, она больше не работает.
Я попытался назвать это таким образом:
$("#Button1").bind("click",
{ key1: "value1", key2: "value2" },
buttonClick(event));
function buttonClick(var event)
{
$("#displayArea").text(event.data.key1);
}
Это не работает. Имею ли я ошибку при передаче события в качестве параметра? Каков правильный способ сделать это без использования анонимных методов?
+1 за то, что первым человеком, который на самом деле объяснить, что они делают неправильно, а не просто размещение кода. –
+1. Стоит отметить, что если вы определяете функцию так, как это происходит в этом ответе, все будет работать. Но если вы определяете такую функцию: 'var buttonClick = function (event) {...}', определение должно быть помещено перед использованием «ссылки на функцию» (в этом случае: перед '$ (" # Button1 "). Bind (...)' вызывается). – Tadeck
@ Tadeck, спасибо, сэр, могу ли я добавить это к моему ответу? –