台灣最大程式設計社群網站
線上人數
1248
 
會員總數:245150
討論主題:189054
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> [急] jquery-simple-context-menu套件的一個BUG 求解
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[急] jquery-simple-context-menu套件的一個BUG 求解
價值 : 175 QP  點閱數:536 回應數:2

樓主

Yu-Cheng Jheng
門外漢
0 4
71 3
發送站內信

如題,我試著在網頁上使用jquery-simple-context-menu這個套件
想要用右鍵選單來實現更方便的操作
但是卻發現一個BUG


在頁面的上半部並不會出現這問題
但是當div因為內容而變長時,下面的區域就會發生如圖片中的問題

http://163.17.135.115/article.aspx?897544
可以實際到上列網頁中操作...

套件則是完全套用
http://blog.hellocode.info/2012/11/jquery-simple-context-menu.html
這個網站提供的內容,並沒有做修改



程式碼部分 只Coding相關部分

<body id="article">

<~中略>

<script>
$(function () {
$('#contentdiv').contextPopup({
title: '',
items: [
{
label: '登入/登出', icon: 'icons/logon.png', action: function () {
window.document.getElementById('login').click();
}
},
{ label: '會員專區', icon: 'icons/member.jpg', action: function () { window.document.getElementById('mb2').click(); } },
{ label: '回首頁', icon: 'icons/search.png', action: function () { location.href = "home.aspx" } },
null, // divider
{ label: '收藏文章', icon: 'icons/search.png', action: function () { window.document.getElementById('articlelike').click(); } },
null, // divider
{
label: '隨機店家', action: function () {
var sid = "<%=randomstore()%>";
if (sid == "0")
{
alert('找不到店家!');
}
else
{
location.href = 'Store_informations.aspx?' + sid;
}

}
},
{
label: '隨機文章', action: function ()
{
var aid = "<%=randomarticle()%>";
if (aid == "0")
{
alert('找不到文章!');
}
else
{
location.href = 'article.aspx?' + aid;
}
}
}

]
});
});
</script>

<~中略>

</body>


本小弟不是很熟jQuary
所以很難去找出到底是哪裡出了問題...
星期五就要報告,沒太多時間去研究
只能傾家蕩產跪求本站的大大們幫忙了...

搜尋相關Tags的文章: [ jQuary ] , [ contextmenu ] ,
本篇文章發表於2015-06-02 00:50
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
問題不再JQ套件上
而是你的結構不知道哪裡出問題
導致body的高度沒有抓到完整的高度,之後JQ套件用來抓取外部範圍點擊的div高度也因此沒能抓到正確的高度
所以在網頁下半部點擊右鍵時,會無法觸發選單外點擊的事件去清除舊的選單
以之前的經驗推測應該是position屬性設定的問題,或是float屬性設定的問題
本篇文章回覆於2015-06-02 09:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
大致上幫你看了一下,該插件是採用find的方式搜尋物件是否存在。
難免有時會搜尋不到,誤以為沒建立又建立一個新的。

我是有注意到你是用body為主元素控制。
所以難免在速度運行上會發生偵測不到的問題。

且該插件的確有點問題。正常因該產生出來的物件要在div內。不過他是在div外??
再檢查插件時,他似乎有往外去取得body的高寬度。這或許是因為你用body當主元素才會這樣。

可以試著用一個div包起來,不要用body為主元件的運做方式試試。搞不好問題就可以解決。
本篇文章回覆於2015-06-02 10:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.