onclick事件不适用于position:fixed

时间:2014-11-07 05:19:19

标签: javascript css jsp

当我使用position时:修复div的onclick事件不起作用。并且此事件正在处理其他值,如静态,相对等。     我的代码如下: 的CSS:

  #dialog_window_minimized_container {
     position: fixed;  
    bottom: 0px;
    left: 0px;
}

JavaScript的:

    <script>
var _init = $.ui.dialog.prototype._init;
$.ui.dialog.prototype._init = function() {
    //Run the original initialization code
    _init.apply(this, arguments);

    //set some variables for use later
    var dialog_element = this;
    var dialog_id = this.uiDialogTitlebar.next().attr('id');
    //append our minimize icon
    this.uiDialogTitlebar.append('<a href="#" id="' + dialog_id + 
    '-minbutton" class="ui-dialog-titlebar-minimize ui-corner-all">'+
    '<span class="ui-icon ui-icon-minusthick"></span></a>');
    $('#dialog_window_minimized_container').append(
        '<div class="dialog_window_minimized ui-widget ui-state-default ui-corner-all" id="' + 
        dialog_id + '_minimized">' + this.uiDialogTitlebar.find('.ui-dialog-title').text() + 
        '<span class="ui-icon ui-icon-newwin"></div>');
    $('#' + dialog_id + '-minbutton').hover(function() {    
        $(this).addClass('ui-state-hover');
    }, function() {
        $(this).removeClass('ui-state-hover');
    }).click(function() {
        dialog_element.close();
        $('#' + dialog_id + '_minimized').show();
    });
  $('#' + dialog_id + '_minimized').click(function() {

        $('#' + dialog_id + '_minimized').hide();

          dialog_element.open();    

    });

};

</script> 

JSP:

3 个答案:

答案 0 :(得分:3)

当你将元素位置保持固定时,检查是否有其他div或元素超过它,这是我要检查的第一件事,如果你看到其他的话,请点击你要点击的位置上的元素在下面显示的栏中突出显示的元素或div,其他一些div或元素将覆盖您的元素。 希望它有所帮助

答案 1 :(得分:1)

尝试为特定div提供更高的 z-index 值并检查。可能是其他div覆盖你的位置:固定DIV

答案 2 :(得分:1)

我有这个问题。我添加了click和mouseover事件的元素无法点击。我的元素位于一个容器div里面,位置是固定的,位于顶部:400px;

<div class="container" style="position: fixed; top: 400px">
    <div class="my-element">I have mouse events</div>
</div>

我发现当我移除顶部定位时,我的元素鼠标事件开始工作。由于某种原因,父div的固定位置不是&#34;排队&#34;如果这是有意义的,我的元素的命中区域。我的解决方案是将我的元素从固定的定位容器中取出并将其放置在它自己的容器上。

<div class="my-element" style="position: fixed; top: 400px">I have mouse events</div>

希望这有帮助。