2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

判斷事件是不是發(fā)生在某組件中的 JS 函數(shù) - BeanSoft‘s Java Blog ...

 ShangShujie 2007-04-25

 

在實現(xiàn)某些功能, 例如只在某 DIV 上面彈出右鍵菜單的時候, 這個函數(shù)可以用一下(忘了從哪里看到以及改造的..抱歉), 僅供參考用, 用一些 JS 組件庫應(yīng)該可以更方便的實現(xiàn):

// Discover browser info {{{
var browserInfo = new Object();
var sAgent = navigator.userAgent.toLowerCase() ;

browserInfo.IsIE = ( sAgent.indexOf("msie") != -1 ) ;
browserInfo.IsGecko = !browserInfo.IsIE ;
browserInfo.IsSafari = ( sAgent.indexOf("safari") != -1 ) ;
browserInfo.IsNetscape = ( sAgent.indexOf("netscape") != -1 ) ;
// End of browser info }}}

 

/**
* Check if the event is happent in the element.
* @param event - event object
* @param element - the element of the document
*
* @author beansoft
* @version 1.0 2006-04-30
*/
function checkEventIn(event, element)
{
if(!event) {
event = window.event;
}

var e;

if(browserInfo.IsGecko) {
e = event.target;
} else {
e = event.srcElement;
}

while ( e )
{
if ( e == element ) return true;
e = e.parentNode ;
}

return false;
}

 

下面是一個判斷只有在某組件(組件名為‘父組件‘)點擊了鼠標右鍵后才彈出自定義菜單的代碼(彈出菜單為一個 ID 為 popup 的 DIV, 在其他地方則只彈出瀏覽器自帶菜單的示例代碼:

 

var oncontextmenu = function(e)
{
// Make sure popup only displays on codeman_js_tree
if(checkEventIn(e, $(‘父組件‘)) == false) {
return;
}

if(!e) {
e = window.event;
}

if(browserInfo.IsGecko) {
try {
e.preventDefault();
} catch(ex) {
}
}

$(‘popup‘).style.left = e.clientX + ‘px‘;
$(‘popup‘).style.top = e.clientY + ‘px‘;
$(‘popup‘).style.display = "";

return false;
};

 

// IE

try {
  $(‘父組件‘.oncontextmenu = oncontextmenu;
} catch(ex) {
}

// Gecko

if(browserInfo.IsGecko) {
try {
$(父組件‘).addEventListener(
‘contextmenu‘, oncontextmenu, true);
} catch(ex) {
}

}

posted on 2007-04-24 16:56 BeanSoft 閱讀(429) 評論(4)  編輯 收藏 引用 所屬分類: Web

評論:
# re: 判斷事件是不是發(fā)生在某組件中的 JS 函數(shù) 2007-04-24 17:11 | BeanSoft
不好意思漏了:
/*
Fetch a DOM object based on it‘s id
objId - a object‘s id string
*/
function $(objId) {
return document.getElementById(objId);
}

完全可以用 Prototype 里面的 $ 代替.  回復(fù)  更多評論
  
# re: 判斷事件是不是發(fā)生在某組件中的 JS 函數(shù) 2007-04-25 16:01 | 交口稱贊
在么,問個問題
你知道JBOSS怎么在一個服務(wù)器下,通過不同的端口對應(yīng)不同的項目。比如我起一個服務(wù)器,8080對應(yīng)test 8081對應(yīng)另一個test
  回復(fù)  更多評論
  
# re: 判斷事件是不是發(fā)生在某組件中的 JS 函數(shù) 2007-04-25 16:07 | BeanSoft
我知道 JBoss 可以整合 Tomcat, 所以我就以 Tomcat 為例, Tomcat 只需要修改 conf/server.xml 就可以實現(xiàn)監(jiān)聽多個端口以及每個端口映射到不同的應(yīng)用目錄的目的, 舉個例子:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
...
<Engine name="Catalina" defaultHost="localhost">
...
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

</Host>
注意:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

這里可以加入多個 Host, Connector 也可以多個, 只不過注意新的 Connector 里面的 Host 里面的 appBase 不能都放到一個地方, 就可以了. 具體沒有試過, 但是看過相關(guān)的資料.  回復(fù)  更多評論
  
# re: 判斷事件是不是發(fā)生在某組件中的 JS 函數(shù) 2007-04-25 16:30 | 交口稱贊
ok,多謝,理論上jboss是和tomcat是一樣的
多謝啦,我去試試  回復(fù)  更多評論

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約