Tôi muốn chuyển một đối tượng làm tham số cho hàm Onclick bên trong một chuỗi. Một cái gì đó như follwing:javascript: chuyển một đối tượng làm đối số cho hàm onclick bên trong chuỗi
function myfunction(obj,parentobj){
var o=document.createElement("div");
o.innerHTML='<input type="button" onclick="somelistener(' + obj + ')" />';
parentobj.appendChild(o.firstChild);
}
Rõ ràng, điều này không hiệu quả. Bất cứ ai có bất kỳ ý tưởng? CÁM ƠN!
Một phiên bản hoàn thiện hơn, theo đề nghị của @Austin
<!DOCTYPE html>
<html>
<body>
<style type="text/css">
</style>
<p id="test">test</p>
<p id="objectid"></p>
<script>
function test(s){
document.getElementById("test").innerHTML+=s;
}
function somelistener(obj){
test(obj.id);
}
function myfunction(obj,parentobj){
var o=document.createElement("div");
o.innerHTML='<input type="button" onclick="somelistener(' + obj + ')" />';
o.onclick = function() {
someListener(obj)
}
parentobj.appendChild(o.firstChild);
}
myfunction(document.getElementById("objectid"),document.getElementById("test"));
</script>
</body>
</html>
@Austin tôi không chắc chắn nếu tôi hiểu câu trả lời của bạn c orrect. Nhưng như tôi đã thử trong phiên bản hoàn chỉnh ở trên, nó cũng không hoạt động. Bạn có thấy vấn đề không? – Elizabeth
@ scott.korin Thx Scott. Nhưng sau khi tôi thay đổi cách viết hoa, nó vẫn không hoạt động. – Elizabeth
@Austin BTW, ngay cả khi tôi thay đổi o.nhấp vào o.firstChild.onclick, điều đó cũng không hoạt động, nếu đó có thể là một vấn đề. – Elizabeth