Вы можете использовать код ниже, чтобы добавить жест касания на UILabel: -
Шаг 1:
Delegate "UIGestureRecognizerDelegate" to your viewcontroller.h
for example:
@interface User_mail_List : UIViewController<UIGestureRecognizerDelegate>
Шаг 2:
//create you UILable
UILabel *title_lbl= [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 30)];
[title_lbl setText:@"u&me"];
[title_lbl setUserInteractionEnabled:YES];
[yourView addSubview:title_lbl];
Шаг 3:
UITapGestureRecognizer *tap= [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Prof_lbl_Pressed:)];//your action selector
[tap setNumberOfTapsRequired:1];
title_lbl.userInteractionEnabled= YES;
[title_lbl addGestureRecognizer:tap];
Шаг 4:
-(void)Prof_lbl_Pressed:(id)sender{
//write your code action
}
спасибо,
Просто определите свои переменные в global.js вне области действия функции:
// global.js
var global1 = "I'm a global!";
var global2 = "So am I!";
// other js-file
function testGlobal () {
alert(global1);
}
Чтобы убедиться, что это работает, вы должны включить / связать global.js, прежде чем пытаться получить доступ к любым определенным переменным в этом файле:
<html>
<head>
<!-- Include global.js first -->
<script src="/YOUR_PATH/global.js" type="text/javascript"></script>
<!-- Now we can reference variables, objects, functions etc.
defined in global.js -->
<script src="/YOUR_PATH/otherJsFile.js" type="text/javascript"></script>
</head>
[...]
</html>
Вы, конечно, можете добавить ссылку в тегах скрипта непосредственно перед закрывающим тегом
, если вы не хотите, чтобы загрузка js-файлов прерывала загрузку начальной страницы.Рекомендуемый подход:
window.greeting = "Hello World!"
Затем вы можете получить к нему доступ из любой функции:
function foo() {
alert(greeting); // Hello World!
alert(window["greeting"]); // Hello World!
alert(window.greeting); // Hello World! (recommended)
}
Этот подход предпочтителен по двум причинам.
Намерение явно. Использование ключевого слова var
может легко привести к объявлению глобальных vars
, которые должны были быть локальными, или наоборот. Такой вид области видимости переменных сбивает с толку многих разработчиков Javascript. Поэтому, как правило, я проверяю, что перед всеми объявлениями переменных стоит ключевое слово var
или префикс window
.
Вы также стандартизируете этот синтаксис для чтения переменных таким образом это означает, что локальная var
не затирает глобальную var
и наоборот. Например, то, что здесь происходит, неоднозначно:
greeting = "Aloha";
function foo() {
greeting = "Hello"; // overrides global!
}
function bar(greeting) {
alert(greeting);
}
foo();
bar("Howdy"); // does it alert "Hello" or "Howdy" ?
Однако, это намного чище и менее подвержено ошибкам (вам действительно не нужно запоминать все правила области видимости переменных):
function foo() {
window.greeting = "Hello";
}
function bar(greeting) {
alert(greeting);
}
foo();
bar("Howdy"); // alerts "Howdy"
Вы пробовали?
Если вы делаете:
var HI = 'Hello World';
В global.js
. А затем выполните:
alert(HI);
В js1.js
он выдаст предупреждение. Вам просто нужно включить global.js
до остальных в HTML-документ.
Единственная загвоздка в том, что вы должны объявить его в области видимости окна (а не внутри каких-либо функций).
Вы можете просто исключить часть var
и создать их таким образом, но это не очень хорошая практика.
Да, вы можете получить к ним доступ. Вы должны объявить их в «публичном пространстве» (вне любых функций) как:
var globalvar1 = 'value';
Вы можете получить к ним доступ позже, также в других файлах.