2011-12-28 13 views
11

के साथ एक बटन बनाने के लिए जावास्क्रिप्ट मैं एक बटन बनाने के लिए जावास्क्रिप्ट का उपयोग करने की कोशिश कर रहा हूं जिसमें एक ऑनक्लिक ईवेंट है जो बटन में सापेक्ष एक डोम ऑब्जेक्ट पैरामीटर के रूप में ले जाने वाले सिर में परिभाषित फ़ंक्शन को कॉल करता है। मैं यह कैसे करु?ऑनक्लिक

पूर्व:

<html> 
<head> <script>function blah(obj){alert(obj.value)}</script></head> 
<body> 
<button onclick="blah(this.parentNode.value);"></button> 
</body> 
</html> 

जावास्क्रिप्ट:

var newButton = document.createElement("button"); 
??? 
अंत मैं चाहता हूँ नया बटन मौजूदा वही होना करने के लिए

+0

क्या आप समझा सकते हैं कि आप ऐसा क्यों कर रहे हैं, शायद आप जो कर रहे हैं उसके लिए एक बेहतर समाधान मौजूद है .. – AlanFoster

+0

इसकी तरह (अनावश्यक) जटिल है लेकिन मैं कोशिश करूंगा। तो मूल बटन सामान का एक समूह बना देगा और खुद को हटा देगा। बनाई गई सामग्री में से एक और बटन है जो मूल बटन को फिर से बना देगा जो – WindowsMaker

उत्तर

28
function createButton(context, func){ 
    var button = document.createElement("input"); 
    button.type = "button"; 
    button.value = "im a button"; 
    button.onclick = func; 
    context.appendChild(button); 
} 

window.onload = function(){ 
    createButton(document.body, function(){ 
     highlight(this.parentNode.childNodes[1]); 
     // Example of different context, copied function etc 
     // createButton(this.parentNode, this.onclick); 
    }); 
} 

क्या आप चाहते हैं?

+0

पर सामान का एक और गुच्छा बना सकता है, मुझे नहीं लगता कि यह डीओएम समस्या हल करता है जहां तर्क पारित किया गया है बटन के सापेक्ष है :( – WindowsMaker

+0

@zaftcoAgeiha मेरे पास नहीं है विचार करें कि इसका क्या मतलब है। क्या आप कृपया जो चाहते हैं उसे समझा सकते हैं। संपादित करें :: पोस्ट को फिर से जांचें। – AlanFoster

+0

ठीक है, मुझे गतिशील रूप से यह <बटन ऑनक्लिक = "हाइलाइट (this.parentNode.childNodes [1]) बनाने में सक्षम होना चाहिए। > को हाइलाइट करें और इसे क्लिक करने योग्य – WindowsMaker

संबंधित मुद्दे