Метод one
Метод one элементга вазифа ишловчисини
қўшиш имконини беради. Вазифа бир марта ишлагандан
сўнг - вазифа ишловчиси автоматik равишда ўчирилади.
Синтаксиси
Биз элементга вазифа ишловчисини шундай боглаймиз,
биринчи параметр сифатида сатр шаклида бир ёки
бир нечта бўлиб, пробел билан ажратилган вазифалар
берилади, иккинчиси - биз JavaScript объекти шаклида
маълумотларни берамиз, улар вазифа ишловчисига
event.data хусусиятида вазифа ишлатилганда
узатилади. Иккинчи параметр majburiy эмас. Учинчисида биз вазифа ишловчисини берамиз,
уңга вазифа объекти узатилади ёки false берилади:
$(селектор).one(вазифалар, [маълумотлар], вазифа-ишловчи(вазифа объекти));
Иккинчи параметр сифатида қўшимча филтрловчи
селекторни бериш мумкин, уччинчиси - қўшимча
маълумотлар, улар вазифа ишловчисига
event.data хусусиятида вазифа ишлатилганда
узатилади. Иккинчи ва уччинчи параметрлар
majburiy эмас. Тўртинчисида биз
вазифа-ишловчини берамиз, уңга вазифа объекти
ва majburiy бўлмаган қўшимча параметрлар узатилади. Агар
вазифа-ишловчи ўрнига false берилса, у холда вазифа жуда осон
false қайтаради:
$(селектор).one(вазифалар, [селектор], [маълумотлар], вазифа-ишловчи(вазифа объекти));
one методадан бошқача фойдаланиш мумкин,
бу холда биринчи параметрга
JavaScript объекти берилади, у ерда калитлар - вазифа тури, а
қийматлар - вазифа-ишловчи, биз элементга қўшган:
$(селектор).one({'вазифа тури': handler}, [селектор], [маълумотлар]);
Агар биз қўшимча селекторни узмасак, у холда вазифа биз вазифа ишловчисини боглаган элементда ишга тушади, акс холда - ўша селекторга мос келадиган натира элементда (делегацияланган вазифалар).
Мисол
Келинг, абзацга босганда биз one метода утказган маълумотларни
чиқарайлик. Кейинги босилганларда
hech narsa бўлмайди. Биз яратган
вазифа-ишловчи testFunc дан фойдаланамиз:
<p>click</p>
function testFunc(event) {
alert(event.data.text);
}
$('p').one('click', {text: 'aaa' }, testFunc);