2013-07-08 3 views
0

Я надеюсь, что вы сможете создать функцию catch-all, которая позволит мне динамически устанавливать атрибуты в унаследованной системе. Я хочу создать функцию JQuery click, которая отключит элемент и либо отправит форму, либо добавит текущую функцию onclick к функции JQuery click. (Предполагается, что код OnClick будет обрабатывать форму)Программно перемещая встроенную функцию onclick в функцию JQuery click()

До сих пор я

jQuery(element).click(function() { 
onclick = (jQuery(this).attr('onclick') || jQuery(this).attr('onClick')); 
if(form && !onclick) { 
    jQuery(form).submit(); 
} else if (form && onclick) { 
    jQuery(this).//how do I dynamically execute the onclick code using jquery? 
}}; 

Насколько мне известно, это должно быть возможно в JavaScript, но я не могу найти похожие темы ,

EDIT

Спасибо за ответы до сих пор, однако мне нужно прояснить проблему дальше.

Мне нужно уметь использовать функцию в настоящее время в теге onclick = function() | и добавить это к функции щелчка jQuery. Это необходимо, так как я должен отключить атрибут onclick, чтобы событие jQuery click пожара, однако мне нужно сохранить первоначальную функциональность

+0

Вы можете использовать 'eval' ... (опасно) –

+0

На самом деле, вы, скорее всего, не нужно, чтобы сбросить' onclick' свойство для клик огня. Если у вас нет 'event.stopImmediatePropagation()' (или 'return false;' /'event.stopPropagation() ', если это делегированный обработчик событий). –

+0

Можете ли вы опубликовать пример того, когда атрибут 'onclick' будет влиять на обработку' .click (fn) 'jQuery? –

ответ

1

Вызвать собственное событие onclick javascript следующим образом:

this.click(); 
+0

. Самое простое решение - это тот, который вы никогда не пробовали, спасибо за это решение и спасибо Fabricio за указание моя ошибка, связанная с свойствами onclick – SMC

0

вы можете использовать:.

$('element').click(); 

подобный способ сделать это для других событий, таких как изменение(), KeyUp(), и т.д ..

Смежные вопросы