JS =>處理單擊事件與拖動事件並存


使用click事件,很難確定在拖動開始和結束的時候觸發,所以使用了onmouseup(釋放鼠標的時候),釋放鼠標的時候,即在拖動還未結束,但是准備處理的階段,此時mouseButtonFlag按照邏輯來說應該是true,即不會觸發綁定的事件。

1.將click轉為使用onmouseup事件

2.添加mouseButtonFlag對象,判斷是否拖拽情況,用以處理是否觸發鼠標釋放(點擊)事件

(這個是篇sortable的參數說明的文章,作者xpsharphttp://blog.csdn.net/xpsharp/article/details/6906228

需要處理的是,拖動圖片的時候,不能觸發點擊事件

 1 <ul class="alist ui-sortable" id="acAlbums">
 2                                                             <!--加載相冊-->
 3                                                                 
 4                                                                 
 5                                                                 <li>
 6                                                                     <div class="closed"></div>
 7                                                                     <div class="media1">
 8                                                                         <a href="#_">
 9                                                                             <img src="http://file.ttyouni.com/image/cf195039ccf61be50eca6fad8beddd837a67e1876165d68ef16fb51385e0341bf7893184ab4034465ca6bbbe041be38bddb9d98c3453acc7799dcc3248aa0a0c0f208bde2f43c2284e2b28331912539c734556076d66b0bf" alt="" url="" onmouseup="openImageSetDialog(this)" width="50"></a>
10                                                                     </div>
11                                                                 </li><li style="position: relative; left: 0px; top: 0px;" class="">
12                                                                     <div class="closed"></div>
13                                                                     <div class="media1">
14                                                                         <a href="#_">
15                                                                             <img src="http://file.ttyouni.com/image/cf195039ccf61be50eca6fad8beddd837a67e1876165d68ef16fb51385e0341bf7893184ab4034465ca6bbbe041be38bddb9d98c3453acc7799dcc3248aa0a0c9474269a0c6f49fc58f17296ca8f10dd734556076d66b0bf" alt="" url="" onmouseup="openImageSetDialog(this)" width="50"></a>
16                                                                     </div>
17                                                                 </li><li style="position: relative; left: 0px; top: 0px;" class="">
18                                                                     <div class="closed"></div>
19                                                                     <div class="media1">
20                                                                         <a href="#_">
21                                                                             <img src="http://file.ttyouni.com/image/cf195039ccf61be50eca6fad8beddd837a67e1876165d68ef16fb51385e0341bf7893184ab4034465ca6bbbe041be38bddb9d98c3453acc7799dcc3248aa0a0c0f208bde2f43c2284e2b28331912539c734556076d66b0bf" alt="" url="" onmouseup="openImageSetDialog(this)" width="50"></a>
22                                                                     </div>
23                                                                 </li><li style="position: relative; left: 0px; top: 0px;" class="">
24                                                                     <div class="closed"></div>
25                                                                     <div class="media1">
26                                                                         <a href="#_">
27                                                                             <img src="http://file.ttyouni.com/image/cf195039ccf61be50eca6fad8beddd837a67e1876165d68ef16fb51385e0341bf7893184ab4034465ca6bbbe041be38bddb9d98c3453acc7799dcc3248aa0a0c0f208bde2f43c2284e2b28331912539c734556076d66b0bf" alt="" url="" onmouseup="openImageSetDialog(this)" width="50"></a>
28                                                                     </div>
29                                                                 </li>
30                                                                 <li style="position: relative; left: 0px; top: 0px;" class="">
31                                                                     <div class="closed"></div>
32                                                                     <div class="media1">
33                                                                         <a href="#_">
34                                                                             <img src="/Content/Images/Scene/Gather204/banner.jpg" alt="" url="http://www.ttyouni.com/" onmouseup="openImageSetDialog(this)" width="50"></a>
35                                                                     </div>
36                                                                 </li>
37                                                                 
38                                                                                                                         <li class="add">
39                                                                 <a href="javascript:;">
40                                                                     <img src="/Content/Images/Scene/Vote004/jia.jpg" onclick="openImageSetDialog(this,1)" width="50">
41                                                                 </a>
42                                                             </li>
43                                                         </ul>
html

處理的JS

var mouseButtonFlag = false;//控制是否觸發點擊事件
        //拖動
        $('#acAlbums').sortable({
            items: "li:not(.add)",
            start: function (event, ui) {
                mouseButtonFlag = true;
            },
            stop: function (event, ui) {
                mouseButtonFlag = false;
            }
        });


        //打開輪播圖片設置的彈窗
        function openImageSetDialog(obj,v) {
            if (mouseButtonFlag) {
                return;
            }
            if (v!=undefined) {//添加圖片對象
                $("#show_image_1").attr("src", "/Content/Images/Scene/Vote004/jia.jpg");
                $("#image_url_txt").val("http://ttyouni.com/show/index")
            }
            else {
                $("#show_image_1").attr("src", $(obj).attr("src"));
                $("#image_url_txt").val($(obj).attr("url"))
            }
            $("#image_index_txt").val($(obj).parents("#acAlbums li").index())
            $("#choose_activebox1").show();
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM