div

2010-10-09 14 views
8
<div id="profile_ops" style="display:none"> 
    <button class="ybutton" id="viewclick" >View</button>&nbsp; 
    <button class="ybutton" id="editclick" >Edit</button>&nbsp; 
    <button class="ybutton" id="change_pswd" >Change Password</button>&nbsp; 
    <button class="ybutton" id="change_pic" >Change Picture</button>&nbsp; 
</div> 

की क्लिक करें घटना बाध्य करने के लिए कैसे इस में मैं इस विशेष स्थिति पर div दिखाने के लिए और मैं दृश्य बटन छिपाते हैं, लेकिन संपादित करें क्लिक पर मैं दृश्य बटन दिखाने लेकिन मैं दृश्य बटन पर क्लिक करें घटना देना चाहता हूँ मैं जहां चाहिए div की क्लिक घटना दें?div

मैंने क्लिक ईवेंट में क्लिक ईवेंट देने का प्रयास किया है लेकिन यह मुझे त्रुटि दे रहा है?

उत्तर

9

बस हर एक

$(document).ready(function() { 

    $("#viewclick").click(function() { 
    // this will fire when you click view 
    }); 
    $("#editclick").click(function() { 
    // this will fire when you click edit 
    // hide the view button here and upon submit, show it again 
    // like $("#viewclick").hide() or $("#viewclick").fadeOut() 
    }); 

}); 
करने के लिए ग्राहक घटना आवंटित
+1

मेरा मानना ​​है कि '$ ('# तत्व) .on (' क्लिक करें ', फ़ंक्शन (ई) {this.yatta();});' 5/2014 –

+0

@b_dubb के रूप में पसंदीदा तरीका है यदि आप सोचते हैं तो जवाब संपादित करें यह बेहतर है। उस तारीख को देखें जब इसका उत्तर "अक्टूबर 2010" था ... मुझे पूरा यकीन है कि उस समय तक '.on' एक विकल्प नहीं था और केवल तब उपयोग करना शुरू कर दिया गया जब हमारे पास नोड्स ('लाइव'), और बीटीडब्लू आपका '.on' सही नहीं है, यह '$ ( संलग्न करने के लिए होना चाहिए)। (, , <अनाम फ़ंक्शन या फ़ंक्शन का नाम>); ' – balexandre

0

आप शुरुआत से दृश्य बटन के क्लिक ईवेंट को बाध्य कर सकते हैं। भले ही घटना बाध्य हो। अगर बटन नहीं देखा/दिखाई देता है तो उपयोगकर्ता घटना को आग नहीं कर सकता है। इसलिए यदि दृश्य दिखाई नहीं देता है तो क्लिक ईवेंट कभी नहीं आग लगती है। लेकिन जब उपयोगकर्ता संपादन पर क्लिक करता है तो दृश्य दिखाई देगा और ईवेंट पहले ही बाध्य हो गया है, इसलिए क्लिक करने में सक्षम होगा और संबंधित क्लिक तर्क ठीक होगा।

+0

आप जावास्क्रिप्ट के साथ ईवेंट को सक्रिय कर सकते हैं की कोशिश कर सकते हैं। आप सही हैं कि उपयोगकर्ता ईवेंट को आग नहीं कर सकता क्योंकि वे स्वयं बटन पर क्लिक नहीं कर सकते हैं, लेकिन जेएस उन बटनों पर क्लिक कर सकता है जो दिखाई नहीं दे रहे हैं। –

+0

मैंने सवाल पूछा क्योंकि यह पूछा गया था। वह क्लिक बाध्यकारी संदर्भ में अधिक दृश्य (दृश्यमान)/नहीं देखा (अदृश्य) केंद्रित था। मैं जावास्क्रिप्ट व्यवहार से अवगत हूं। – Jsinh

0

मैं तुम्हें क्या कहा की ज्यादा समझ में नहीं आया है, लेकिन एक छिपाने/शो घटना आप कुछ इस तरह कर सकता है जोड़ने के लिए:

$('#editclick').toggle(function() { 
    $('#viewclick').css('display', 'none'); 
}, function() { 
    $('#viewclick').css('display', 'inline'); 
}); 
1

script टैग पर कोड जोड़ें।

यह अलग अलग तरीकों से किया जा सकता है, पहले कहते हैं कि अपने script टैग तत्व से पहले आता है की सुविधा देता है:

<script></script> 
<div></div> 

तो तुम क्लिक करें घटना बाध्य करने के बाद ही तत्व प्रदान की गई है है, तो आप इस का उपयोग कर सकते :

$("div").live("click", function() {}); 

.live खिड़की पर एक eventhandler जोड़ सकते हैं और क्लिक करें घटना की जांच करेगा, तो यह लक्ष्य की जाँच करता है, अगर यह मेल खाता घटना शुरू हो रहा है। इस तरह, किसी भी समय डीओएम पर जोड़ा गया कोई भी तत्व इस हैंडलर को ट्रिगर करेगा।

एक और तरीका $(document).ready() ($(function(){}) एक उपनाम है) का उपयोग कर रहा है। यह फ़ंक्शन एक फ़ंक्शन जोड़ता है जिसे पृष्ठ DOM लोड होने पर निष्पादित किया जाएगा।

$(function() { 
    // when all elements have been loaded, add event on 'div' 
    $("div").click(function() { }); 
}); 

अपनी स्क्रिप्ट अपने तत्व के बाद आता है

<div></div> 
<script></script> 

तो फिर तुम बस $("div").click, उपयोग कर सकते हैं जब तक कि div की सामग्री को गतिशील रूप से लोड किए गए हैं।

संदर्भ

2

आप div बाहर दृश्य बटन रखना चाहिए

<button class="ybutton" id="viewclick" onclick="ShowHide();">View</button>&nbsp; 
<div id="profile_ops" style="display:none"> 
          <button class="ybutton" id="editclick" >Edit</button>&nbsp; 
        <button class="ybutton" id="change_pswd" >Change Password</button>&nbsp; 
        <button class="ybutton" id="change_pic" >Change Picture</button>&nbsp; 
       </div> 

जब आप व्यू बटन पर क्लिक करते हैं तो आपका div दिखाया जाता है और देखें बटन छुपा रहता है, और जब आप संपादन बटन दृश्य बटन पर फिर से प्रदर्शित होते हैं।

0

आप इस

$('#element).on('click', 
    function(e){ 
     this.change(); 
    }); 
+0

क्या #element div की आईडी हो सकता है? – Patricia

0
function ShowHide() { 
    $("#profile_ops").show(); 
    $("#viewclick").hide(); 
} 

$(document).ready(function(){ 
    $("#editclick").click(function(){ 
     $("#viewclick").show(); 

    }); 

}) 


    <button class="ybutton" id="viewclick" onclick="ShowHide();">View</button>&nbsp; 
    <div id="profile_ops" style="display:none"> 
     <button class="ybutton" id="editclick" >Edit</button>&nbsp; 
     <button class="ybutton" id="change_pswd" >Change Password</button>&nbsp; 
     <button class="ybutton" id="change_pic" >Change Picture</button>&nbsp; 
    </div>