Не работает модульная структура в jquery

121
23 ноября 2020, 01:40

Не работает

(function($) { 
  'use strict'; 
  sum: () => alert('Простой текст'); 
})(jQuery); 
 
$(function() { 
  'use strict'; 
  $('#btn').click(() => $.sum()); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<input type="button" id="btn" value="Кнопка">

Answer 1

Это же не объект а тело функции, следующая запись - некорректна, да и к аргументу $ Вы никак не обращаетесь:

(function($) {
   sum: () => alert('Простой текст');
})(jQuery);

Нужно обратиться к объекту через точку и присвоить значение через равно:

(function($) { 
  'use strict'; 
  $.sum = () => alert('Простой текст'); 
})(jQuery); 
 
$(function() { 
  'use strict'; 
  $('#btn').click(() => $.sum()); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<input type="button" id="btn" value="Кнопка">

Answer 2

let foo = { 
  'sum': (x, y) => { 
    alert(x + y); 
  } 
}; 
 
$('input:button').click( () => { 
    foo.sum(parseInt($('#txtl').val()), parseInt($('#txt2').val())); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<input type="text" id="txtl"> 
<input type="text" id="txt2"> 
<input type="button" id="btnl" value="Получить сумму чисел">

Answer 3

onclick не является функцией jQuery. Замени on на click

READ ALSO
Программа виснет после вызова метода while(true)

Программа виснет после вызова метода while(true)

Решил я программу написать которая выводит время и каждую 1 секунду обновляет форму Label1 но вот случилась проблема, после вызова while true программа...

100
Передать Geometry Group в VM

Передать Geometry Group в VM

У меня есть такой код формы

139