小编ink*_*ink的帖子

JQuery:点击无处不在但有些元素

我有一些我可以用.click()函数选择的元素,它们会突出显示.上面有菜单,有一些动作.我想点击任何元素而不是菜单时取消突出显示.

结构体:

<body>
    <div id="menu">
    </div>
    <div id="elements">
        /* selectable elements here */
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

可执行示例

$().ready(function(){
	$("#elements a").click(function(){
  	$(this).css('color', 'red');
  	return false;
  });
  $(document).click(function(e) {
    if ( $(e.target).closest('#menu').length === 0 ) {
        $("#elements a").css('color', 'blue');
    }
	});
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="menu">
        <a href="#">Menu 1</a>
        <a href="#">Menu 2</a>
        <a href="#">Menu 3</a>
    </div>
    <div id="elements">
        <a href="#">Element 1</a>
        <a href="#">Element 2</a>
        <a href="#">Element 3</a>
    </div>
    <div>
      Click any element to highlight it. Click anywhere to reset highlighting. Click menu to …
Run Code Online (Sandbox Code Playgroud)

javascript jquery click css-selectors

14
推荐指数
1
解决办法
1万
查看次数

RewriteCond奇怪的行为(文件存在检查)

我无法理解为什么重定向依赖于RewriteRule(而不是RewriteCond).

我的.htaccess:

Options +FollowSymLinks +SymLinksIfOwnerMatch

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ true.txt

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ false.txt
</IfModule>
Run Code Online (Sandbox Code Playgroud)

根文件夹包含:

true.txt(包含'true')
false.txt(包含'false')
test.txt(包含'test')

如果我试图打开,test.txt我会得到true,如果我试图打开,nonexist.txttrue也会得到.

现在我改变了我的.htaccess:

...
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ $1
...
Run Code Online (Sandbox Code Playgroud)

现在,如果我尝试打开,test.txt我会得到test,如果我试图打开nonexist.txt我得到false.

更新:感谢您的回答,我理解它是如何工作的,但仍然存在一个问题.如果我尝试在另一个目录中检查'if file exists',它总是会返回false.

/files/test.txt
/script/.htaccess
/script/false.txt
/script/true.txt

现在我的.htaccess看起来像

RewriteCond %{REQUEST_FILENAME} .*(true|false).*$
RewriteRule .* - [S=2]

RewriteCond %{DOCUMENT_ROOT}/files/%{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ true.txt [L]

RewriteCond %{DOCUMENT_ROOT}/files/%{REQUEST_FILENAME} …
Run Code Online (Sandbox Code Playgroud)

apache .htaccess mod-rewrite

1
推荐指数
1
解决办法
5081
查看次数