在css中拖放时更改光标样式

时间:2014-03-05 12:22:11

标签: php css wordpress sorting

我拖放图像排序,代码工作得很好,但现在客户端希望当用户拖动行时,光标样式是“指针”。

现在默认光标样式是“移动”。我改变了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');
?>

2 个答案:

答案 0 :(得分:3)

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

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

div:active{
    cursor: pointer !important;
}

<强> Working Fiddle

答案 1 :(得分:1)

为什么你不能使用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;
}