English 中文(简体)
如何在点击执行时首先防止
原标题:How to prevent first onclick execution
  • 时间:2012-05-24 10:13:17
  •  标签:
  • javascript

我正在写一个 javascript 函数, 动态地用按钮创建一个 Iframe 按钮, 如果按下按钮, 可以删除它的 iframe 。

这些是我的笔记本功能:

 function createIframe (iframeName, width, height) {
    var iframe;
    if (document.createElement && (iframe = document.createElement( iframe ))) {
        iframe.name = iframe.id = iframeName;
        iframe.width = width;
        iframe.height = height;
        var connectIP = document.getElementById("ip").value;
        var connectPORT = document.getElementById("port").value;
        iframe.src = "http://"+connectIP+":"+connectPORT;
        document.body.appendChild(iframe);

        addElement(iframe.name);
    }
    return iframe;
}

function removeIframe(iframeName) {
    iframe = document.getElementById(iframeName);  
    if (iframe) { 
        var x=iframe.parentNode.removeChild(iframe) 
    }
}

function addElement(iframeName) {
    var butt = document.createElement( button );
    var butt_text = document.createTextNode( Remove );
    butt.appendChild(butt_text);
    butt.onclick = removeIframe(iframeName);
    document.body.appendChild(butt);
}

问题是,当按钮创建时,即刻执行点击函数,而不只是当用户按下它时,而是立即执行,所以我的新IFrame立即被删除,我看不到它。

我怎样才能解决这个问题?

此外,能否将按钮不添加在母体中,而是直接添加到新创建的框架中?

提前感谢。

最佳回答

单击时必须是一个函数,替换以下行

butt.onclick = removeIframe(iframeName);

butt.onclick = function() { removeIframe(iframeName); }
问题回答

您需要通过函数处理器而不是函数调出结果到 点击 属性 。

您可以使用匿名函数完成此功能 :

butt.onclick = function() { removeIframe(iframeName); };




相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签