2013-07-02 130 views
1

有沒有人知道我可以調用什麼javascript函數來激活這個id上的'dblClickField'事件,而沒有實際點擊該框?這是一個複選框,我想強制使用javascript通過控制檯進行勾選。Javascript雙擊事件

<td 
    class="dataCol inlineEditWrite" 
    id="00N200000030rph_ilecell" 
    onblur="if (window.sfdcPage &amp;&amp; window.sfdcPage.hasRun) sfdcPage.mouseOutField(event, this);" 
    onclick="if (window.sfdcPage &amp;&amp; window.sfdcPage.hasRun) sfdcPage.clickField(event, this);" 
    ondblclick="if (window.sfdcPage &amp;&amp; window.sfdcPage.hasRun) sfdcPage.dblClickField(event, this);" 
    onfocus="if (window.sfdcPage &amp;&amp; window.sfdcPage.hasRun) sfdcPage.mouseOverField(event, this);" 
    onkeypress="if (window.sfdcPage &amp;&amp; window.sfdcPage.hasRun &amp;&amp; event &amp;&amp; event.keyCode==KEY_ENTER) sfdcPage.dblClickField(event, this);" 
    onmouseout="if (window.sfdcPage &amp;&amp; window.sfdcPage.hasRun) sfdcPage.mouseOutField(event, this);" 
    onmouseover="if (window.sfdcPage &amp;&amp; window.sfdcPage.hasRun) sfdcPage.mouseOverField(event, this);" 
    tabindex="0"> 
    <div id="00N200000030rph_ileinner"> 
     <img src="/img/checkbox_unchecked.gif" alt="Not Checked" width="21" height="16" class="checkImg" id="00N200000030rph_chkbox" title="Not Checked"> 
    </div> 
</td> 
+1

你能更好地格式化嗎?單線閱讀真的很難。 –

+0

我不知道爲什麼你有這麼多「內聯」的代碼。 –

+0

現在好了。謝謝。 –

回答

0

你可以通過調用apply,在這個答案在這裏做到這一點:

How can I programmatically invoke an onclick() event from a anchor tag while keeping the ‘this’ reference in the onclick function?

然而,你可能要考慮一個稍微不同的方法。只要把你雙擊處理程序函數:

function onDoubleClick() { 
    if (window.sfdcPage && window.sfdcPage.hasRun) 
     sfdcPage.dblClickField(event, this); 
} 

然後,你可以從你的<td>元素引用它:

<td ondblclick="onDoubleClick();"... 

而其他地方則需要從以及調用它。

這裏有一個的jsfiddle證明:http://jsfiddle.net/nq5aP/

+0

嗯......呃,我不確定如何使用Chrome的控制檯在這裏完成任何事情。我的意思是,你可以在控制檯中輸入一個函數,但是你不能真正聲明HTML(無論如何,很容易),所以你不能連接你的雙擊標題....讓我扔一個jsfiddle您;希望能夠說清楚。 –

0

不要把這麼多的內嵌代碼到HTML中。閱讀起來並不容易。把你的代碼放在一個函數中,然後你可以隨時調用它(而不是欺騙一個雙擊事件):

<script> 
function dblclickfunction(event) 
{ 
    if (window.sfdcPage && window.sfdcPage.hasRun) 
     sfdcPage.dblClickField(event, this); 
} 
</script> 

<td 
    class="dataCol inlineEditWrite" 
    id="00N200000030rph_ilecell" 
    onblur="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOutField(event, this);" 
    onclick="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.clickField(event, this);" 
    ondblclick="dblclickfunction(event);" 
    onfocus="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOverField(event, this);" 
    onkeypress="if (window.sfdcPage && window.sfdcPage.hasRun && event && event.keyCode==KEY_ENTER) sfdcPage.dblClickField(event, this);" 
    onmouseout="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOutField(event, this);" 
    onmouseover="if (window.sfdcPage && window.sfdcPage.hasRun) sfdcPage.mouseOverField(event, this);" 
    tabindex="0"> 
    <div id="00N200000030rph_ileinner"> 
     <img src="/img/checkbox_unchecked.gif" alt="Not Checked" width="21" height="16" class="checkImg" id="00N200000030rph_chkbox" title="Not Checked"> 
    </div> 
</td>