Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to join two jQuery event handlers together
    primarykey
    data
    text
    <p>I have two event handlers. One is a click handler and the other is a change handler. Besides the event selector the only difference is the assigning of a different variable to className.</p> <p>Note: The entire code is not shown here.</p> <p><strong>Event handler 1#:</strong></p> <pre><code> $(document).on('change', '#selectContainer [id]', function () { prevClass = className; className = $("select").val(); &lt;&lt;&lt;&lt; DIFFERENT var back = '&lt;div id="back"&gt;&lt;div id="_'+ prevClass +'"&gt;&lt;/div&gt;&lt;/div&gt;'; link[prevClass] = original; original = link[className]; link[className] += back; $('.inter').fadeTo(250, 0.25, function () { $('.inter').html(link[className]); $('.inter').css({'background-image': 'url("' + className + '.png")'}); $('.inter').fadeTo(250, 1.00); }); }); </code></pre> <p><strong>Event handler 2#:</strong></p> <pre><code> $(document).on('click', '.inter [class], .inter #back [id]', function () { prevClass = className; className = (this.id || this.className).substr(1); &lt;&lt;&lt;&lt; DIFFERENT var back = '&lt;div id="back"&gt;&lt;div id="_'+ prevClass +'"&gt;&lt;/div&gt;&lt;/div&gt;'; link[prevClass] = original; original = link[className]; link[className] += back; $('.inter').fadeTo(250, 0.25, function () { $('.inter').html(link[className]); $('.inter').css({'background-image': 'url("' + className + '.png")'}); $('.inter').fadeTo(250, 1.00); }); }); </code></pre> <p><strong>ENTIRE CODE:</strong> </p> <pre><code>/* Preload images function for speed*/ function preload(arrayOfImages) { $('body').addClass("loading"); $(arrayOfImages).each(function () { $('&lt;img/&gt;')[0].src = this; }); $('body').removeClass("loading"); } function transformImage(className, original, link, prevClass) { var back = '&lt;div id="back"&gt;&lt;div id="_' + prevClass + '"&gt;&lt;/div&gt;&lt;/div&gt;'; link[prevClass] = original; original = link[className]; link[className] += back; $('.inter').fadeTo(250, 0.25, function () { $('.inter').html(link[className]); $('.inter').css({ 'background-image': 'url("' + className + '.png")' }); $('.inter').fadeTo(250, 1.00); }); } $(document).ready(function () { /* Images to preload*/ var preloadi = [ '/WCMSWR/_assets/images/1.png', '/WCMSWR/_assets/images/2.png', '/WCMSWR/_assets/images/3.png', '/WCMSWR/_assets/images/4.png', '/WCMSWR/_assets/images/5.png', '/WCMSWR/_assets/images/6.png', '/WCMSWR/_assets/images/7.png', '/WCMSWR/_assets/images/8.png', '/WCMSWR/_assets/images/9.png', '/WCMSWR/_assets/images/10.png']; var prevClass = '0'; var className = '0'; var original = 'yresadfasxdsa'; var link = ['&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_22"&gt;&lt;/div&gt;&lt;div class="_22t"&gt;&lt;p&gt;This is a tooltip. This is the first step for the jquery path system&lt;/p&gt;&lt;div class="tooltiptail"&gt;&lt;/div&gt;&lt;/div&gt;', // 0 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_3"&gt;&lt;/div&gt;&lt;div class="_4"&gt;&lt;/div&gt;', // 1 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div id="selectContainer"&gt;&lt;select id="select" name="select1"&gt;&lt;option&gt;Select option&lt;/option&gt;&lt;option value="21"&gt;21&lt;/option&gt;&lt;option value="22"&gt;22&lt;/option&gt;&lt;option value="23"&gt;23&lt;/option&gt;&lt;/select&gt;&lt;/div&gt;', // 2 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_5"&gt;&lt;/div&gt;&lt;div class="_6"&gt;&lt;/div&gt;', // 3 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_7"&gt;&lt;/div&gt;&lt;div class="_8"&gt;&lt;/div&gt;', // 4 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_23"&gt;&lt;/div&gt;&lt;div class="_10"&gt;&lt;/div&gt;', // 5 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_7"&gt;&lt;/div&gt;&lt;div class="_11"&gt;&lt;/div&gt;', // 6 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_24"&gt;&lt;/div&gt;&lt;div class="_9"&gt;&lt;/div&gt;', // 7 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_23"&gt;&lt;/div&gt;&lt;div class="_10"&gt;&lt;/div&gt;', // 8 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_25"&gt;&lt;/div&gt;', // 9 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_12"&gt;&lt;/div&gt;&lt;div class="_13"&gt;&lt;/div&gt;', // 10 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_25"&gt;&lt;/div&gt;', // 11 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_2"&gt;&lt;/div&gt;&lt;div class="_13"&gt;&lt;/div&gt;', // 12 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_14"&gt;&lt;/div&gt;&lt;div class="_15"&gt;&lt;/div&gt;', // 13 '&lt;div class="_0"&gt;&lt;/div&gt;', // 14 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_16"&gt;&lt;/div&gt;&lt;div class="_17"&gt;&lt;/div&gt;', // 15 '&lt;div class="_0"&gt;&lt;/div&gt;', // 16 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_18"&gt;&lt;/div&gt;&lt;div class="_19"&gt;&lt;/div&gt;', // 17 '&lt;div class="_0"&gt;&lt;/div&gt;', // 18 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_20"&gt;&lt;/div&gt;&lt;div class="_21"&gt;&lt;/div&gt;', // 19 '&lt;div class="_0"&gt;&lt;/div&gt;', // 20 '&lt;div class="_0"&gt;&lt;/div&gt;', // 21 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_1"&gt;&lt;/div&gt;&lt;div class="_1t"&gt;&lt;p&gt;This is a tooltip. This is the first step for the jquery path system&lt;/p&gt;&lt;div class="tooltiptail"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="_2"&gt;&lt;/div&gt;', // 22 '&lt;div class="_0"&gt;&lt;/div&gt;', // 23 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_7"&gt;&lt;/div&gt;&lt;div class="_11"&gt;&lt;/div&gt;', // 24 '&lt;div class="_0"&gt;&lt;/div&gt;&lt;div class="_12"&gt;&lt;/div&gt;&lt;div class="_13"&gt;&lt;/div&gt;' // 25 ]; /* If you wish to insert tooltips use the below template code &lt;div class="_22t"&gt;&lt;p&gt;This is a tooltip. This is the first step for the jquery path system&lt;/p&gt;&lt;div class="tooltiptail"&gt;&lt;/div&gt;&lt;/div&gt; */ preload(preloadi); $(document).on('mouseenter mouseleave', '.inter [class]', function (event) { $('.' + this.className + 't').toggle(event.type === 'mouseenter'); }); $(document).on('change', '#selectContainer [id]', function () { alert(original); prevClass = className; className = $("select").val(); transformImage(className, original, link, prevClass); // call the method to do the image processing }) $(document).on('click', '.inter [class], .inter #back [id]', function () { prevClass = className; className = (this.id || this.className).substr(1); transformImage(className, original, link, prevClass); // call the method to do the image processing }) }) </code></pre> <p><strong>SIDE NOTE:</strong></p> <p>On a side note if I am using incorrect terminology or if I should change the structure of my posts please correct me as I am still learning. :)</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload