Я пытаюсь вызвать определяемую пользователем функцию в jQuery:
$(document).ready(function() {
$('#btnSun').click(function() {
myFunction();
});
$.fn.myFunction = function() {
alert('hi');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnSun">Say hello!</button>
Я попробовал следующее также:
$(document).ready(function() {
$('#btnSun').click(function() {
myFunction();
});
});
function myFunction() {
alert('hi');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="btnSun">Say hello!</button>
Это, кажется, не работает! Какая-либо идея, где я неправ?
Если вы хотите вызвать обычную функцию через событие jQuery, вы можете сделать это следующим образом:
$ (документ) .ready (функция () {$ ('# btnSun'). click (myFunction);}); функция myFunction () {предупреждение ('привет'); }
Они называются плагинами , как прокомментировал Ябок. Чтобы иметь смысл, функция плагина должна что-то делать с элементом, через который она вызывается. Рассмотрим следующее:
jQuery.fn.make_me_red = function() {
return this.each(function() {
this.style.color = 'red';
});
};
$('a').make_me_red();
Попробуйте это $ ('div'). MyFunction ();
Это должно работать
$(document).ready(function() {
$('#btnSun').click(function(){
myFunction();
});
function myFunction()
{
alert('hi');
}
jQuery.fn.make_me_red = function() {
return this.each(function() {
this.style.color = 'red';
});
};
$('a').make_me_red() // - instead of this you can use $(this).make_me_red() instead for better readability.