Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает .on('change'), a .change() работает (https://javascript.ru/forum/jquery/48750-ne-rabotaet-%27change%27-change-rabotaet.html)

Yaroma11 15.07.2014 18:15

Не работает .on('change'), a .change() работает
 
Не работает .on('change', function(){}), а если юзать .change(function(){}), то все ок, в чем может быть проблема?

BETEPAH 15.07.2014 22:51

Может в 12-й строке пропущена закрывающая скобка?

Yaroma11 16.07.2014 11:39

Цитата:

Сообщение от BETEPAH (Сообщение 321225)
Может в 12-й строке пропущена закрывающая скобка?

Намек понял.
Вот так все ок работает:
FgStCalc.prototype = {
	isAbbyChecked: function() {
		$('#module_abby').change(function() {
			console.log('changed');
		});
	},
...

А вот так все печально
FgStCalc.prototype = {
	isAbbyChecked: function() {
		$('#module_abby').on('change', function() {
			console.log('changed');
		});
	},
...

BETEPAH 16.07.2014 11:54

сделайте в песочнице проблемный код. Потому как у меня работают оба варианта:
<div id="div1" class="link">click me 1</div>
<div id="div2" class="link">click me 2</div>
<select id="module_abby">
    <option>1
    <option>2
</select>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script>
var FgStCalc = {
	isAbbyChecked1: function() {
		$('#module_abby').change(function() {
			echo('changed1');
		});
        alert('теперь измените селект');
	},
	isAbbyChecked2: function() {
		$('#module_abby').on('change', function() {
			echo('changed2');
		});
        alert('теперь измените селект');
	}
}
function echo(text) {
    alert(text)
}
$(function () {
    $('#div1').on('click', FgStCalc.isAbbyChecked1);
    $('#div2').on('click', FgStCalc.isAbbyChecked2);
})
</script>


Часовой пояс GMT +3, время: 03:34.