Вызов функции
Добрый день. Возможно ли вызвать jQuery функцию в чистом javascript?
|
Янковиц,
Это как так? :blink: |
Хех.
То есть создать функцию на jQuery, а потом выполнить её на javascript |
Насколько я знаю, можно делать так:
$(function() { function doosomething() { alert('привет'); } $("div.class").click(doosomething); }); Поправьте, если не так, function doosomething() - это синтаксис создания функции на javascript, а $("div.class").click(doosomething); - это уже jquery? |
Цитата:
|
Тогда, как должна выглядеть функция ajax запроса на jquery, чтобы потом выполнить с учетом синтаксиса javascript?
|
Янковиц,
примеров в сети уйма var request = new XMLHttpRequest(); request.open('GET', '/my/url', true); request.onload = function() { if (this.status >= 200 && this.status < 400) { // Success! var resp = this.response; } else { // We reached our target server, but it returned an error } }; request.onerror = function() { // There was a connection error of some sort }; request.send(); |
j0hnik,
А при чем тут jQuery?:blink: |
Я немного про другое.
Допустим я создаю ajax jQuery функцию: (function( jQuery ){ jQuery.fn.helloWorld = function() { var _this = jQuery(this); var id = _this.val(); jQuery.ajax({ url: url, type: 'POST', data: ({ id : id, }), success: function(data){ _this.html(data); } }); }; })( jQuery ); Могу ли я использовать её потом с учетом javascript? Типа такого: document.getElementById('element').onclick = function(e){ // вот сюда засунуть функцию jQuery helloWorld() } или типа такого: var el = document.getElementById("myelement"); el.addEventListener('click', function() { // вот сюда засунуть функцию jQuery helloWorld() }); |
Dilettante_Pro,
ненужен тут jquery |
Янковиц,
можно |
Янковиц,
только вот один вопрос: нафига вам это все? если бы стояла задача избавиться полностью от библиотеки я бы понял, но зачем такие гибриды непонятные? |
У меня сайт на Wordpress, там библиотека на jQuery по умолчанию стоит, и ajax запросы завязаны с этой библиотекой. Плюс часть функционала сделано на Javascript.
Да и ajax на JS я не очень понимаю. Переписывать на jQ - проблематично. В общем... дилема у меня... |
чем проблематично вместо этого
document.getElementById('element').onclick = function(e){ // вот сюда засунуть функцию jQuery helloWorld() } написать $('#element').click(function(e){ // вот сюда засунуть функцию jQuery helloWorld() }); раз библиотека есть пользуйтесь |
Цитата:
|
Проблема в том, что если сначала объявляю:
(function( jQuery ){ jQuery.fn.helloWorld = function() { var _this = jQuery(this); var id = _this.val(); jQuery.ajax({ url: url, type: 'POST', data: ({ id : id, }), success: function(data){ _this.html(data); } }); }; })( jQuery ); а потом использую: $('#element').click(function(e){ helloWorld(); }); Ошибку выдает: Uncaught ReferenceError: helloWorld is not defined at HTMLDivElement. |
$('#element').click(function(e){ var _this = jQuery(this); var id = _this.val(); jQuery.ajax({ url: url, type: 'POST', data: ({ id : id, }), success: function(data){ _this.html(data); } }); }); |
Просто, эта функция несколько раз будет вызываться по разным событиям
|
function blabla(){ var _this = jQuery(this); var id = _this.val(); jQuery.ajax({ url: url, type: 'POST', data: ({ id : id, }), success: function(data){ _this.html(data); } }); } $('#element').click(blabla); |
Благодарю за наводки :) :thanks:
|
Часовой пояс GMT +3, время: 08:06. |