【问题标题】:Change cursor style when drag and drop in css在css中拖放时更改光标样式
【发布时间】:2014-03-05 12:22:11
【问题描述】:

我对图像排序进行了拖放,代码运行良好,但现在客户希望当用户拖动行时,光标样式是“指针”。

现在默认光标样式是“移动”。我更改了 css 中的每个位置,但徒劳无功,没有发生任何更改。

任何人都可以帮助使用 css。

任何建议。

这是我的代码

<table class="widefat fixed" cellspacing="0" id="image_sort" style="width:100%; table-layout:inherit;">
        <thead>
            <tr>
                <th scope="col" class="column-slug"><?php _e('Image','lgs') ?></th>
                <th scope="col"><?php _e('Image Links To','lgs') ?></th>
                <th scope="col" class="column-slug"><?php _e('Actions','lgs') ?></th>
            </tr>
        </thead>

        <tfoot>
            <tr>
                <th scope="col" class="column-slug"><?php _e('Image','lgs') ?></th>
                <th scope="col"><?php _e('Image Links To','lgs') ?></th>
                <th scope="col" class="column-slug"><?php _e('Actions','lgs') ?></th>
            </tr>
        </tfoot>

        <tbody>

        <form method="post" action="options.php">
        <?php settings_fields('wp_logo_slider_images'); ?>
        <?php foreach((array)$wp_logo_slider_images as $image => $data) : ?>
            <tr id="list_item_<?php echo $image ?>" class="list_item">
                <input type="hidden" name="wp_logo_slider_images[<?php echo $image; ?>][id]" value="<?php echo $data['id']; ?>" />
                <input type="hidden" name="wp_logo_slider_images[<?php echo $image; ?>][file]" value="<?php echo $data['file']; ?>" />
                <input type="hidden" name="wp_logo_slider_images[<?php echo $image; ?>][file_url]" value="<?php echo $data['file_url']; ?>" />
                <input type="hidden" name="wp_logo_slider_images[<?php echo $image; ?>][thumbnail]" value="<?php //echo $data['thumbnail']; ?>" />
                <input type="hidden" name="wp_logo_slider_images[<?php echo $image; ?>][thumbnail_url]" value="<?php echo $data['thumbnail_url']; ?>" />
                <th scope="row" class="column-slug"><img src="<?php echo $data['thumbnail_url']; ?>" /></th>
                <td><?php //echo $image; ?><input type="text" name="wp_logo_slider_images[<?php echo $image; ?>][image_links_to]" value="<?php echo $data['image_links_to']; ?>" size="30" /></td>
                <td class="column-slug"><input type="submit" class="button-primary" value="Update" /> <a href="?page=wp_logo_slider&amp;delete=<?php echo $image; ?>" class="button">Delete</a></td>
            </tr>
        <?php endforeach; ?>
        <input type="hidden" name="wp_logo_slider_images[update]" value="Updated" />
        </form>

        </tbody>
    </table>

<?php

function image_sort(){  
wp_enqueue_script('jquery');
?>
<!--<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>-->
<?php 
wp_enqueue_script('jquery-ui-sortable');
?>
<script type="text/javascript">

jQuery(document).ready( function(e) {
   jQuery('#image_sort').sortable({
            items: '.list_item',
            opacity: 0.5,
            cursor: 'move',
            axis: 'y',
            update: function() {
                var ordr = jQuery(this).sortable('serialize') + '&action=list_update_order';
                jQuery.post(ajaxurl, ordr, function(response){
                    //alert(response);
                });
            }
      });
});

</script>
<?php
    }
    add_action('admin_head','image_sort');

    function order_list(){
        global $wp_logo_slider_images;

        $list = $wp_logo_slider_images;
        $new_order = $_POST['list_item'];
        $new_list = array();

        foreach($new_order as $v){
            if(isset($list[$v])){
                $new_list[$v] = $list[$v];
            }
        }
        update_option('wp_logo_slider_images',$new_list);
    }
    add_action('wp_ajax_list_update_order','order_list');
?>

【问题讨论】:

  • 提供你试过的css编码
  • 没有代码就帮不上忙。

标签: php css wordpress sorting


【解决方案1】:

这可以使用:active 伪类来完成。

div{
    width: 300px;
    height: 300px;
    background-color: cornflowerblue;
}

div:active{
    cursor: pointer !important;
}

Working Fiddle

【讨论】:

  • @Nadeem 使用 !important,因为您之前使用 jquery 应用 cursor: move。我更新了我的帖子。
  • 好的,非常感谢@Mr_Green,现在我知道了哪里出错了,因为我复制并过去了代码,所以我不明白。在 JQUERY - 光标:'指针',。现在它的工作很好。 :)
【解决方案2】:

为什么你不能使用 jQuery。改变光标样式

使用 jQuery

​​>

检查这个jsFiddle

jQuery(document).ready(function(){
  jQuery('a.clickme').click(function(){
    jQuery('body').css('cursor', 'pointer');
      $(this).css('cursor', 'pointer');
  });
});

使用 CSS

检查这个jsFiddle

HTML

<div>
    <a href="#" class="clickme">Link1</a><br />
    <a href="#" class="clickme">Link2</a><br />
    <a href="#" class="clickme">Link2</a>  <br /> 
</div>

CSS

div{
    width: 200px;
    height:100px;
    border:1px solid #000;
}

div:hover, div:active{
   cursor: pointer;
}

【讨论】:

  • 我已经给出了 css 解决方案。这并不意味着我拥有它的权威,只是想知道再次发布它的意义是什么?
  • 兄弟,我认为你没有明白我的意思,我看到你的 jsfiddle 链接,这不是我想要的
  • @Mr_Green 抱歉,但 Nadeem 说我不再需要 jQUery,所以我将展示另一种使用 CSS 的方式。
  • 好的 @JayPatel 我在 jQuery 中而不是在 css 中做错了,现在它工作正常 - 非常感谢您的时间
猜你喜欢
  • 2018-12-01
  • 2017-06-09
  • 2012-04-24
  • 1970-01-01
  • 2013-02-02
  • 2022-08-11
  • 1970-01-01
  • 2017-08-12
  • 2012-10-02
相关资源
最近更新 更多