British member of parliament was in critical condition after being shot and stabbed in her constituency in northern England on Thursday, British police and media reports said.

Jo Cox, 41, who is a lawmaker for the opposition Labour Party, was attacked as she prepared to hold a meeting with constituents in Birstall near Leeds.

"Utterly shocked by the news of the attack on Jo Cox," Labour Party leader Jeremy Corbyn said on Twitter. "The thoughts of the whole Labour Party are with her and her family at this time."

Prime Minister David Cameron said: "Very concerned about reports Jo Cox has been injured. Our thoughts and prayers are with Jo and her family."

British lawmakers are currently not in parliament ahead of next week's referendum on whether Britain should remain in the European Union.

The campaign for Britain to remain in the bloc said it was suspending campaigning for the day and the "Vote Leave" group said it had also suspended activities from its official touring campaign bus.

A man in his late 40s to early 50s nearby also suffered slight injuries, police said. BBC radio reported that Cox had been taken by air ambulance to a nearby hospital.

One eyewitness told Sky News that Cox had intervened in a scuffle between two men, one of whom had pulled a gun from a bag which had then been fired twice.

"I saw people rushing down the road towards the library. I came out with a couple of people from the restaurant ... we saw a man wearing a dirty white baseball cap with grey jacket start jostling with somebody," said Hichem Ben-Abdallah.

"All of a sudden this guy pulls a gun ... it looked like a First World War gun or makeshift gun, not the sort of gun you see normally. He fired the first shot then I ran away and then we heard the second shot."

Cox, a Cambridge University graduate, was an aid worker before becoming Labour lawmaker for Batley and Spen in 2015. Known for her work on women's issues, she has worked with several charities